search for: getorcreatetyp

Displaying 10 results from an estimated 10 matches for "getorcreatetyp".

Did you mean: getorcreatetype
2013 Aug 20
2
[LLVMdev] Trying to run qt app compiled to bit code Assertion failed: (Ty->isSized() && "Cannot getTypeInfo() on a type that is unsized!")
...27b raise + 27 6  lli               0x0000000102245332 abort + 18 7  lli               0x0000000102245311 __assert_rtn + 129 8  lli               0x0000000101a8d8c3 llvm::DataLayout::getTypeSizeInBits(llvm::Type*) const + 115 9  lli               0x0000000101a6e176 (anonymous namespace)::DIUpdater::getOrCreateType(llvm::Type*) + 294 10 lli               0x0000000101a6e435 (anonymous namespace)::DIUpdater::getOrCreateType(llvm::Type*) + 997 11 lli               0x0000000101a6e31b (anonymous namespace)::DIUpdater::getOrCreateType(llvm::Type*) + 715 12 lli               0x0000000101a6e435 (anonymous namespace)...
2013 Aug 20
0
[LLVMdev] Trying to run qt app compiled to bit code Assertion failed: (Ty->isSized() && "Cannot getTypeInfo() on a type that is unsized!")
...27b raise + 27 6 lli 0x0000000102245332 abort + 18 7 lli 0x0000000102245311 __assert_rtn + 129 8 lli 0x0000000101a8d8c3 llvm::DataLayout::getTypeSizeInBits(llvm::Type*) const + 115 9 lli 0x0000000101a6e176 (anonymous namespace)::DIUpdater::getOrCreateType(llvm::Type*) + 294 10 lli 0x0000000101a6e435 (anonymous namespace)::DIUpdater::getOrCreateType(llvm::Type*) + 997 11 lli 0x0000000101a6e31b (anonymous namespace)::DIUpdater::getOrCreateType(llvm::Type*) + 715 12 lli 0x0000000101a6e435 (anonymous namespace)...
2013 Sep 22
1
[LLVMdev] DebugIR pass fails with an assert
...ef4e1755 in llvm::StructType::getName (this=0x6562c0) at /home/kolkhovskiy/3rdparty/llvm/lib/IR/Type.cpp:581 #5 0x00007fffef4e0030 in llvm::Type::getStructName (this=0x6562c0) at /home/kolkhovskiy/3rdparty/llvm/lib/IR/Type.cpp:195 #6 0x00007ffff2ec85b9 in (anonymous namespace)::DIUpdater::getOrCreateType (this=0x7fffffffd530, T=0x6562c0) at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentation/DebugIR.cpp:387 #7 0x00007ffff2ec8a1d in (anonymous namespace)::DIUpdater::getOrCreateType (this=0x7fffffffd530, T=0x6565e0) at /home/kolkhovskiy/3rdparty/llvm/lib/Transforms/Instrumentatio...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
...Gen/CGDebugInfo.cpp index 048c8f8..2bded23 100644 --- lib/CodeGen/CGDebugInfo.cpp +++ lib/CodeGen/CGDebugInfo.cpp @@ -771,7 +771,7 @@ llvm::DIType CGDebugInfo::CreateType(const FunctionType *Ty, SmallVector<llvm::Value *, 16> EltTys; // Add the result type at least. - EltTys.push_back(getOrCreateType(Ty->getReturnType(), 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...
2009 Nov 13
1
[LLVMdev] dodgy use of c_str()
>From llvm-gcc-4.2/trunk/gcc/llvm-debug.cpp: void DebugInfo::EmitGlobalVariable(GlobalVariable *GV, tree decl) { // Gather location information. expanded_location Loc = expand_location(DECL_SOURCE_LOCATION(decl)); DIType TyD = getOrCreateType(TREE_TYPE(decl)); const char *DispName = GV->getNameStr().c_str(); Isn't this use of c_str() dodgy, because the temporary string returned by Gv->getNameStr() will be destroyed at the end of the expression, so it's no longer valid to use the memory pointed to by DispName? Thanks,...
2014 Jun 24
2
[LLVMdev] Issues with clang-llvm debug info validity
...2.cpp -S -o test2.ll >> $ llvm-link test1.ll test2.ll -S -o linked.ll >> $ llc linked.ll >> >> The last step raises an assertion error, assuming you have assertions >> enabled: >> llc: lib/CodeGen/AsmPrinter/DwarfUnit.cpp:953: llvm::DIE* >> llvm::DwarfUnit::getOrCreateTypeDIE(const llvm::MDNode*): Assertion `Ty == >> resolve(Ty.getRef()) && "type was not uniqued, possible ODR violation."' >> failed >> >> The initial introduction of the "test" namespace in test2.cpp seems to >> confuse clang -- test1.cpp a...
2013 Nov 15
1
[LLVMdev] DebugInfo: LTO Metadata Size reduction by removing some cycles
...!Context) - return TheCU; + return llvm::DIScope(); llvm::DenseMap<const Decl *, llvm::WeakVH>::iterator I = RegionMap.find(Context); @@ -155,7 +155,7 @@ llvm::DIScope CGDebugInfo::getContextDescriptor(const Decl *Context) { if (!RDecl->isDependentType()) return getOrCreateType(CGM.getContext().getTypeDeclType(RDecl), getOrCreateMainFile()); - return TheCU; + return llvm::DIScope(); } /// getFunctionName - Get function name for the given FunctionDecl. If the diff --git test/CodeGenCXX/debug-info-namespace.cpp test/CodeGenCXX...
2015 Aug 18
3
[RFC PATCH 1/2] [clang]: Add AuxAttr support
...+121,9 @@ class CGDebugInfo { llvm::DenseMap<const Decl *, llvm::TypedTrackingMDRef<llvm::DIDerivedType>> StaticDataMemberCache; + llvm::DenseMap<const Type *, std::vector<std::pair<std::string, uint64_t> > > + AuxAttrs; + /// Helper functions for getOrCreateType. /// @{ /// Currently the checksum of an interface includes the number of @@ -337,6 +340,8 @@ public: /// Emit C++ namespace alias. llvm::DIImportedEntity *EmitNamespaceAlias(const NamespaceAliasDecl &NA); + void EmitTypeAuxAttribute(const Type *Ty, std::string key, uint64_t val...
2016 Apr 01
0
[cfe-dev] RFC: Up front type information generation in clang and llvm
...) != Type::FunctionProto && Ty->getTypeClass() != Type::FunctionNoProto) + Ty = CGM.getContext().IntTy; + auto it = TypeCache.find(Ty.getAsOpaquePtr()); if (it != TypeCache.end()) { // Verify that the debug info still exists. @@ -2197,6 +2190,9 @@ llvm::DIType *CGDebugInfo::getOrCreateType(QualType Ty, llvm::DIFile *Unit) { // 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; + if...
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