Displaying 5 results from an estimated 5 matches for "gettypeornul".
Did you mean:
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 W...
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 T...
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.fi...
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