diff options
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 14 | ||||
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfDebug.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 367b523079..742a779b6f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -78,6 +78,15 @@ static cl::opt<DefaultOnOff> DarwinGDBCompat("darwin-gdb-compat", cl::Hidden, clEnumValEnd), cl::init(Default)); +static cl::opt<DefaultOnOff> DwarfFission("dwarf-fission", cl::Hidden, + cl::desc("Output prototype dwarf fission."), + cl::values( + clEnumVal(Default, "Default for platform"), + clEnumVal(Enable, "Enabled"), + clEnumVal(Disable, "Disabled"), + clEnumValEnd), + cl::init(Default)); + namespace { const char *DWARFGroupName = "DWARF Emission"; const char *DbgTimerName = "DWARF Debug Writer"; @@ -174,6 +183,11 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M) } else hasDwarfAccelTables = DwarfAccelTables == Enable ? true : false; + if (DwarfFission == Default) + hasDwarfFission = false; + else + hasDwarfFission = DwarfFission == Enable ? true : false; + { NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled); beginModule(M); diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h index 61d9a51a52..1188ffa73c 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -319,6 +319,7 @@ class DwarfDebug { // A holder for the DarwinGDBCompat flag so that the compile unit can use it. bool isDarwinGDBCompat; bool hasDwarfAccelTables; + bool hasDwarfFission; private: /// assignAbbrevNumber - Define a unique number for the abbreviation. @@ -537,6 +538,7 @@ public: /// output to the limitations of darwin gdb. bool useDarwinGDBCompat() { return isDarwinGDBCompat; } bool useDwarfAccelTables() { return hasDwarfAccelTables; } + bool useDwarfFission() { return hasDwarfFission; } }; } // End of namespace llvm |