aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfDebug.h
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2012-11-30 23:59:06 +0000
committerEric Christopher <echristo@gmail.com>2012-11-30 23:59:06 +0000
commit98e237fc69236f89ec35d6b69b264241af1e8107 (patch)
treebb6a9903abc7065e94e96740f9f6bd806d434fbd /lib/CodeGen/AsmPrinter/DwarfDebug.h
parent3e77747eba2173521d027033952b9a25785c7409 (diff)
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169061 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h
index b6b28fa7e9..35bddee41b 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/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);