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";
} else
hasDwarfAccelTables = DwarfAccelTables == Enable ? true : false;
+ if (DwarfFission == Default)
+ hasDwarfFission = false;
+ else
+ hasDwarfFission = DwarfFission == Enable ? true : false;
+
{
NamedRegionTimer T(DbgTimerName, DWARFGroupName, TimePassesIsEnabled);
beginModule(M);
// 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.
/// output to the limitations of darwin gdb.
bool useDarwinGDBCompat() { return isDarwinGDBCompat; }
bool useDwarfAccelTables() { return hasDwarfAccelTables; }
+ bool useDwarfFission() { return hasDwarfFission; }
};
} // End of namespace llvm