diff options
author | Devang Patel <dpatel@apple.com> | 2010-05-10 22:49:55 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2010-05-10 22:49:55 +0000 |
commit | 1a0df9a80ea82b94178a3500fbf52649df40c86e (patch) | |
tree | 9306309dc43ab002fb25c373360098e45896e97c /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | aadb2cac49faa6e5d6498890cc6163b68bfd3990 (diff) | |
download | bcm5719-llvm-1a0df9a80ea82b94178a3500fbf52649df40c86e.tar.gz bcm5719-llvm-1a0df9a80ea82b94178a3500fbf52649df40c86e.zip |
Enable multiple Compile Units in one module.
This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately.
llvm-svn: 103439
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index f3d64070f97..56282a38148 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -82,8 +82,8 @@ class DwarfDebug { // Attributes used to construct specific Dwarf sections. // - /// ModuleCU - All DIEs are inserted in ModuleCU. - CompileUnit *ModuleCU; + CompileUnit *FirstCU; + DenseMap <const MDNode *, CompileUnit *> CUMap; /// AbbreviationsSet - Used to uniquely define abbreviations. /// @@ -506,10 +506,17 @@ private: /// maps as well. unsigned GetOrCreateSourceID(StringRef DirName, StringRef FileName); + /// constructCompileUnit - Create new CompileUnit for the given + /// metadata node with tag DW_TAG_compile_unit. void constructCompileUnit(const MDNode *N); + /// getCompielUnit - Get CompileUnit DIE. + CompileUnit *getCompileUnit(const MDNode *N) const; + + /// constructGlobalVariableDIE - Construct global variable DIE. void constructGlobalVariableDIE(const MDNode *N); + /// construct SubprogramDIE - Construct subprogram DIE. void constructSubprogramDIE(const MDNode *N); // FIXME: This should go away in favor of complex addresses. |