diff options
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfCompileUnit.h')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfCompileUnit.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h index 8e2d69de72..a177d1910b 100644 --- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h +++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h @@ -155,15 +155,19 @@ public: void addAccelType(StringRef Name, std::pair<DIE *, unsigned> Die); /// getDIE - Returns the debug information entry map slot for the - /// specified debug variable. - DIE *getDIE(const MDNode *N) const { return MDNodeToDieMap.lookup(N); } + /// specified debug variable. We delegate the request to DwarfDebug + /// when the MDNode can be part of the type system, since DIEs for + /// the type system can be shared across CUs and the mappings are + /// kept in DwarfDebug. + DIE *getDIE(const MDNode *N) const; DIEBlock *getDIEBlock() { return new (DIEValueAllocator) DIEBlock(); } - /// insertDIE - Insert DIE into the map. - void insertDIE(const MDNode *N, DIE *D) { - MDNodeToDieMap.insert(std::make_pair(N, D)); - } + /// insertDIE - Insert DIE into the map. We delegate the request to DwarfDebug + /// when the MDNode can be part of the type system, since DIEs for + /// the type system can be shared across CUs and the mappings are + /// kept in DwarfDebug. + void insertDIE(const MDNode *N, DIE *D); /// addDie - Adds or interns the DIE to the compile unit. /// @@ -224,6 +228,10 @@ public: /// void addDIEEntry(DIE *Die, dwarf::Attribute Attribute, DIE *Entry); + /// addDIEEntry - Add a DIE attribute data and value. + /// + void addDIEEntry(DIE *Die, dwarf::Attribute Attribute, DIEEntry *Entry); + /// addBlock - Add block data. /// void addBlock(DIE *Die, dwarf::Attribute Attribute, DIEBlock *Block); |