diff options
author | Eric Christopher <echristo@gmail.com> | 2012-11-30 23:59:06 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2012-11-30 23:59:06 +0000 |
commit | 9c2ecd93d016454fa697c29744c8815b2c695fb7 (patch) | |
tree | 9c4215a4e4862eb62d7d97e426c57a2b28632fe9 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | |
parent | bb1e98318f942a43e18f4d923930ce4d54459b89 (diff) | |
download | bcm5719-llvm-9c2ecd93d016454fa697c29744c8815b2c695fb7.tar.gz bcm5719-llvm-9c2ecd93d016454fa697c29744c8815b2c695fb7.zip |
Add some first skeleton work for the DWARF5 Fission proposal. Emit
part of the compile unit CU and start separating out information into
the various sections that will be pulled out later.
WIP.
llvm-svn: 169061
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h index b6b28fa7e94..35bddee41b3 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -205,6 +205,9 @@ class DwarfDebug { CompileUnit *FirstCU; + // The CU left in the original object file for Fission debug info. + CompileUnit *FissionCU; + // Maps MDNode with its corresponding CompileUnit. DenseMap <const MDNode *, CompileUnit *> CUMap; @@ -369,6 +372,9 @@ private: /// open. void endSections(); + /// \brief Emit all of the compile units to the target section. + void emitCompileUnits(const MCSection *); + /// \brief Emit the debug info section. void emitDebugInfo(); @@ -413,6 +419,17 @@ private: /// \brief Emit inline info using custom format. void emitDebugInlineInfo(); + /// DWARF 5 Experimental Fission Emitters + + /// \brief Construct the fission compile unit for the debug info section. + CompileUnit *constructFissionCU(const MDNode *); + + /// \brief Emit the fission debug info section. + void emitFissionSkeletonCU(const MCSection *); + + /// \brief Emit the debug info dwo section. + void emitDebugInfoDWO(); + /// \brief Create new CompileUnit for the given metadata node with tag /// DW_TAG_compile_unit. CompileUnit *constructCompileUnit(const MDNode *N); |