Add an option to enable prototype "fission" capabilities and debug changes.
[oota-llvm.git] / lib / CodeGen / AsmPrinter / DwarfDebug.cpp
index 367b52307925ecd720c13d692d184ff5bff3c111..742a779b6fe325dd58e4a6b63fbb50595a19c7a1 100644 (file)
@@ -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);