search for: dbuilder

Displaying 6 results from an estimated 6 matches for "dbuilder".

Did you mean: builder
2015 Aug 18
3
[RFC PATCH 1/2] [clang]: Add AuxAttr support
..., 36 insertions(+) diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index eaa1e25..99d4230 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -3363,6 +3363,31 @@ void CGDebugInfo::finalize() { RE = RetainedTypes.end(); RI != RE; ++RI) DBuilder.retainType(cast<llvm::DIType>(TypeCache[*RI])); + + if (AuxAttrs.size() > 0) { + for (const auto &p_type : AuxAttrs) { + SmallVector<llvm::Metadata *, 16> Enumerators; + const Type *type = p_type.first; + + for (const auto &p_attr : p_type.second) { +...
2014 Jul 21
4
[LLVMdev] LTO type uniquing: ODR assertion failure
...xample, >> > getTypeArray() of ArrayType and VectorType can not return an array of >> > DITypeRefs. >> >> Why can't they? > > > For ArrayType, we create it like this: > SmallVector<llvm::Value *, 8> Subscripts; > ... > Subscripts.push_back(DBuilder.getOrCreateSubrange(0, Count)); > ... > llvm::DIArray SubscriptArray = DBuilder.getOrCreateArray(Subscripts); > > The elements of getTypeArray() are DISubranges, even though the function is > called getTypeArray :) Yeah, that seems pretty bogus. They could use a separate type with...
2014 Jul 21
2
[LLVMdev] LTO type uniquing: ODR assertion failure
On Mon, Jul 21, 2014 at 3:35 PM, Manman Ren <manman.ren at gmail.com> wrote: > > > > On Mon, Jul 21, 2014 at 1:14 PM, David Blaikie <dblaikie at gmail.com> wrote: >> >> On Mon, Jul 21, 2014 at 10:39 AM, Manman Ren <manman.ren at gmail.com> wrote: >> > >> > >> > >> > On Mon, Jul 14, 2014 at 11:32 AM, Manman Ren
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
..., Unit)); + EltTys.push_back(getOrCreateType(Ty->getReturnType(), Unit).getRef()); // Set up remainder of arguments if there is a prototype. // otherwise emit it as a variadic function. @@ -779,7 +779,7 @@ llvm::DIType CGDebugInfo::CreateType(const FunctionType *Ty, EltTys.push_back(DBuilder.createUnspecifiedParameter()); else if (const FunctionProtoType *FPT = dyn_cast<FunctionProtoType>(Ty)) { for (unsigned i = 0, e = FPT->getNumParams(); i != e; ++i) - EltTys.push_back(getOrCreateType(FPT->getParamType(i), Unit)); + EltTys.push_back(getOrCreateType(FPT-...
2011 Feb 19
3
[LLVMdev] DIFactory
On Fri, Feb 18, 2011 at 1:52 PM, Renato Golin <rengolin at systemcall.org>wrote: > On 18 February 2011 21:34, Talin <viridia at gmail.com> wrote: > > Sorry, I meant DIBuilder. > > DIBuilder is the new DIFactory. I've been playing with it this week > and it's much easier and straightforward to use. I'm still having > problems to create arrays, though.
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
+Adrian & Manman, Looks like this is a case of non-DIRef references ending up in the IR, and thus the references not being deduplicated. This could lead to some of the IR bloat that you guys implemented the DIRef stuff to reduce/avoid. The specific issue is that the type is slightly different in the two TUs (since the namespace scope it's contained within is different in the two TUs -