We need to propagate the debug location information even when dealing with the
[oota-llvm.git] / lib / Target / TargetMachine.cpp
index 6e8831bf1f90e85febdef50eee72effdae1753f5..49f1e4dfaae6c29e61d2a7de94e2d0b152b0d3b4 100644 (file)
@@ -35,9 +35,12 @@ namespace llvm {
   Reloc::Model RelocationModel;
   CodeModel::Model CMModel;
   bool PerformTailCallOpt;
-  bool OptimizeForSize;
-  bool RealignStack;
   unsigned StackAlignment;
+  bool RealignStack;
+  bool VerboseAsm;
+  bool DisableJumpTables;
+  bool StrongPHIElim;
+  bool DisableRedZone;
 }
 
 static cl::opt<bool, true> PrintCode("print-machineinstrs",
@@ -45,10 +48,10 @@ static cl::opt<bool, true> PrintCode("print-machineinstrs",
   cl::location(PrintMachineCode), cl::init(false));
 
 static cl::opt<bool, true>
-  DisableFPElim("disable-fp-elim",
-                cl::desc("Disable frame pointer elimination optimization"),
-                cl::location(NoFramePointerElim),
-                cl::init(false));
+DisableFPElim("disable-fp-elim",
+              cl::desc("Disable frame pointer elimination optimization"),
+              cl::location(NoFramePointerElim),
+              cl::init(false));
 static cl::opt<bool, true>
 DisableExcessPrecision("disable-excess-fp-precision",
              cl::desc("Disable optimizations that may increase FP precision"),
@@ -100,13 +103,13 @@ DefRelocationModel(
   cl::init(Reloc::Default),
   cl::values(
     clEnumValN(Reloc::Default, "default",
-               "  Target default relocation model"),
+               "Target default relocation model"),
     clEnumValN(Reloc::Static, "static",
-               "  Non-relocatable code"),
+               "Non-relocatable code"),
     clEnumValN(Reloc::PIC_, "pic",
-               "  Fully relocatable, position independent code"),
+               "Fully relocatable, position independent code"),
     clEnumValN(Reloc::DynamicNoPIC, "dynamic-no-pic",
-               "  Relocatable external references, non-relocatable code"),
+               "Relocatable external references, non-relocatable code"),
     clEnumValEnd));
 static cl::opt<llvm::CodeModel::Model, true>
 DefCodeModel(
@@ -116,15 +119,15 @@ DefCodeModel(
   cl::init(CodeModel::Default),
   cl::values(
     clEnumValN(CodeModel::Default, "default",
-               "  Target default code model"),
+               "Target default code model"),
     clEnumValN(CodeModel::Small, "small",
-               "  Small code model"),
+               "Small code model"),
     clEnumValN(CodeModel::Kernel, "kernel",
-               "  Kernel code model"),
+               "Kernel code model"),
     clEnumValN(CodeModel::Medium, "medium",
-               "  Medium code model"),
+               "Medium code model"),
     clEnumValN(CodeModel::Large, "large",
-               "  Large code model"),
+               "Large code model"),
     clEnumValEnd));
 
 static cl::opt<bool, true>
@@ -132,11 +135,12 @@ EnablePerformTailCallOpt("tailcallopt",
                          cl::desc("Turn on tail call optimization."),
                          cl::location(PerformTailCallOpt),
                          cl::init(false));
-static cl::opt<bool, true>
-EnableOptimizeForSize("optimize-size",
-                      cl::desc("Optimize for size."),
-                         cl::location(OptimizeForSize),
-                         cl::init(false));
+
+static cl::opt<unsigned, true>
+OverrideStackAlignment("stack-alignment",
+                       cl::desc("Override default stack alignment"),
+                       cl::location(StackAlignment),
+                       cl::init(0));
 
 static cl::opt<bool, true>
 EnableRealignStack("realign-stack",
@@ -144,11 +148,28 @@ EnableRealignStack("realign-stack",
                    cl::location(RealignStack),
                    cl::init(true));
 
-static cl::opt<unsigned, true>
-OverrideStackAlignment("stack-alignment",
-                       cl::desc("Override default stack alignment"),
-                       cl::location(StackAlignment),
-                       cl::init(0));
+static cl::opt<bool, true>
+AsmVerbose("asm-verbose", cl::desc("Add comments to directives."),
+           cl::location(VerboseAsm),
+           cl::init(false));
+
+static cl::opt<bool, true>
+DisableSwitchTables(cl::Hidden, "disable-jump-tables", 
+           cl::desc("Do not generate jump tables."),
+           cl::location(DisableJumpTables),
+           cl::init(false));
+
+static cl::opt<bool, true>
+EnableStrongPHIElim(cl::Hidden, "strong-phi-elim",
+           cl::desc("Use strong PHI elimination."),
+           cl::location(StrongPHIElim),
+           cl::init(false));
+
+static cl::opt<bool, true>
+DisableRedZoneOption("disable-red-zone",
+           cl::desc("Do not emit code that uses the red zone."),
+           cl::location(DisableRedZone),
+           cl::init(false));
 
 //---------------------------------------------------------------------------
 // TargetMachine Class