search for: gettypeornull

Displaying 5 results from an estimated 5 matches for "gettypeornull".

2012 Aug 09
3
[LLVMdev] Type inconsistency in LLVM 3.1: CGDebugInfo.cpp
I'm probably missing something simple here but in: CGDebugInfo.h: std::vector<std::pair<void *, llvm::WeakVH> >ReplaceMap; but then in CGDebugInfo.cpp: llvm::DIType TC = getTypeOrNull(Ty); void * v = Ty.getAsOpaquePtr(); std::pair<void *, llvm::WeakVH> tmp = std::make_pair(v, TC); if (TC.Verify() && TC.isForwardDecl()) ReplaceMap.push_back(Ty.getTypeOrNull(), TC); Note that TC is of type llvm:DIType and not WeakVH. What am I missing, as this does not...
2012 Aug 09
0
[LLVMdev] Type inconsistency in LLVM 3.1: CGDebugInfo.cpp
...uot; <Benedict.Gaster at amd.com> wrote: > I’m probably missing something simple here but in: > > CGDebugInfo.h: > > std::vector<std::pair<void *, llvm::WeakVH> >ReplaceMap; > > but then in > > CGDebugInfo.cpp: > > llvm::DIType TC = getTypeOrNull(Ty); > > void * v = Ty.getAsOpaquePtr(); > std::pair<void *, llvm::WeakVH> tmp = std::make_pair(v, TC); > > if (TC.Verify() && TC.isForwardDecl()) > ReplaceMap.push_back(Ty.getTypeOrNull(), TC); > > Note that TC is of type llvm:DIType and not We...
2012 Aug 09
1
[LLVMdev] Type inconsistency in LLVM 3.1: CGDebugInfo.cpp
...gt; > I'm probably missing something simple here but in: > > > > CGDebugInfo.h: > > > > std::vector<std::pair<void *, llvm::WeakVH> >ReplaceMap; > > > > but then in > > > > CGDebugInfo.cpp: > > > > llvm::DIType TC = getTypeOrNull(Ty); > > > > void * v = Ty.getAsOpaquePtr(); > > std::pair<void *, llvm::WeakVH> tmp = std::make_pair(v, TC); > > > > if (TC.Verify() && TC.isForwardDecl()) > > ReplaceMap.push_back(Ty.getTypeOrNull(), TC); > > > > Note that TC...
2016 Apr 01
0
[cfe-dev] RFC: Up front type information generation in clang and llvm
...dDecl()) - return; - llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<RecordType>()); - assert(!Res->isForwardDecl()); - TypeCache[TyPtr].reset(Res); } static bool hasExplicitMemberDefinition(CXXRecordDecl::method_iterator I, @@ -2169,6 +2159,9 @@ llvm::DIType *CGDebugInfo::getTypeOrNull(QualType Ty) { // Unwrap the type as needed for debug information. Ty = UnwrapTypeForDebugInfo(Ty, CGM.getContext()); + if (Ty->getTypeClass() != Type::FunctionProto && Ty->getTypeClass() != Type::FunctionNoProto) + Ty = CGM.getContext().IntTy; + auto it = TypeCache.fin...
2016 Mar 30
5
[cfe-dev] RFC: Up front type information generation in clang and llvm
On Tue, Mar 29, 2016 at 11:20 PM Robinson, Paul < Paul_Robinson at playstation.sony.com> wrote: > Skipping a serialization and doing something clever about LTO uniquing > sounds awesome. I'm guessing you achieve this by extracting types out of > DI metadata and packaging them as lumps-o-DWARF that the back-end can then > paste together? Reading between the lines a bit