diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-11-19 23:08:21 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-11-19 23:08:21 +0000 |
commit | 409dd9c34aa3bef7b1234301f40ce3c35a58145c (patch) | |
tree | c7c9ff9bdd8f6f3ae7e97b71af15200f0e26dc31 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | 2ea848b972d7d3dc5c0e525ba2795941d10e7748 (diff) | |
download | bcm5719-llvm-409dd9c34aa3bef7b1234301f40ce3c35a58145c.tar.gz bcm5719-llvm-409dd9c34aa3bef7b1234301f40ce3c35a58145c.zip |
DebugInfo: Partial implementation of DWARF type units.
Emit DW_TAG_type_units into the debug_info section using compile unit
headers. This is bogus/unusable by debuggers, but testable and provides
more isolated review.
Subsequent patches will include support for type unit headers and
emission into the debug_types section, as well as comdat grouping the
types based on their hash. Also the CompileUnit type will be renamed
'Unit' and relevant portions pulled out into respective CompileUnit and
TypeUnit types.
llvm-svn: 195166
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index cebac39a19b..c3b12997317 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -37,6 +37,7 @@ class MachineFrameInfo; class MachineModuleInfo; class MachineOperand; class MCAsmInfo; +class MCObjectFileInfo; class DIEAbbrev; class DIE; class DIEBlock; @@ -443,7 +444,7 @@ class DwarfDebug { ImportedEntityMap ScopesWithImportedEntities; // Holder for types that are going to be extracted out into a type unit. - std::vector<DIE *> TypeUnits; + DenseMap<const MDNode *, std::pair<uint64_t, SmallVectorImpl<DIE*>* > > TypeUnits; // Whether to emit the pubnames/pubtypes sections. bool HasDwarfPubSections; @@ -695,7 +696,7 @@ public: /// \brief Add a DIE to the set of types that we're going to pull into /// type units. - void addTypeUnitType(DIE *Die) { TypeUnits.push_back(Die); } + void addTypeUnitType(DIE *Die, DICompositeType CTy); /// \brief Add a label so that arange data can be generated for it. void addArangeLabel(SymbolCU SCU) { ArangeLabels.push_back(SCU); } |