search for: diimportedentity

Displaying 7 results from an estimated 7 matches for "diimportedentity".

2016 May 06
2
RFC: metadata attachments for global variables
...gt; > Not to spoil all the fun, but I’m not sure if this will bring us much closer to removing the llvm.dbg.cu node. The reason the llvm.dbg.cu node exits is so we can find all DICompileUnits, because the DICompileUnit holds debug info that is not referenced by any IR. This includes things like DIImportedEntity (think C++ “using”), enums, and macros. I understand the fact that DICompileUnit holds debug information that are useful and not referenced directly from the IR. What I wonder is, after all edges are pointing from the IR toward the metadata graph, why do you need to keep a compile unit (and the a...
2016 May 06
2
RFC: metadata attachments for global variables
...;>> Not to spoil all the fun, but I’m not sure if this will bring us much closer to removing the llvm.dbg.cu node. The reason the llvm.dbg.cu node exits is so we can find all DICompileUnits, because the DICompileUnit holds debug info that is not referenced by any IR. This includes things like DIImportedEntity (think C++ “using”), enums, and macros. >> >> I understand the fact that DICompileUnit holds debug information that are useful and not referenced directly from the IR. >> >> What I wonder is, after all edges are pointing from the IR toward the metadata graph, why do you ne...
2016 May 06
3
RFC: metadata attachments for global variables
...;>> Not to spoil all the fun, but I’m not sure if this will bring us much closer to removing the llvm.dbg.cu node. The reason the llvm.dbg.cu node exits is so we can find all DICompileUnits, because the DICompileUnit holds debug info that is not referenced by any IR. This includes things like DIImportedEntity (think C++ “using”), enums, and macros. >>>> >>>> I understand the fact that DICompileUnit holds debug information that are useful and not referenced directly from the IR. >>>> >>>> What I wonder is, after all edges are pointing from the IR toward t...
2016 May 06
10
RFC: metadata attachments for global variables
Hi all, I'd like to add support for metadata attachments for global variables in the same way as we did for functions. Syntax would be pretty simple: @foo = global i32 0, !foo !0, !bar !1 (the extra commas are required to disambiguate from a named metadata on the next line) Benefits: 1) Lets us reverse the DIGlobalVariable -> GlobalVariable edge, which should hopefully clear the way for
2015 May 20
5
[LLVMdev] RFC: Reduce the memory footprint of DIEs (and DIEValues)
...189810 llvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) 25.57 MB 2.7% 104752 llvm::DwarfCompileUnit::constructInlinedScopeDIE(llvm::LexicalScope*) 8.19 MB 0.8% 33547 llvm::DwarfCompileUnit::constructImportedEntityDIE(llvm::DIImportedEntity const*) A lot of this is the pair of `SmallVector<, 12>` it has for its values (look into `DIEAbbrev` for the second one). Here's a histogram of how many DIEs have each value count: # of Values DIEs with # with # or fewer 0 3128 3128...
2015 Aug 18
3
[RFC PATCH 1/2] [clang]: Add AuxAttr support
...seMap<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); + /// Emit record type's standalone debug info. llvm::DIType *getOrCreateRecordType(QualType Ty, SourceLocation L); -- 1.8.3.4
2015 May 21
2
[LLVMdev] RFC: Reduce the memory footprint of DIEs (and DIEValues)
...lvm::DwarfCompileUnit::constructVariableDIEImpl(llvm::DbgVariable const&, bool) >> 25.57 MB 2.7% 104752 llvm::DwarfCompileUnit::constructInlinedScopeDIE(llvm::LexicalScope*) >> 8.19 MB 0.8% 33547 llvm::DwarfCompileUnit::constructImportedEntityDIE(llvm::DIImportedEntity const*) >> >> A lot of this is the pair of `SmallVector<, 12>` it has for its values >> (look into `DIEAbbrev` for the second one). Here's a histogram of how >> many DIEs have each value count: >> >> # of Values DIEs with # with # or fewer >&g...