If compile unit's language is not set then don't crash while dump'ing compile unit.
[oota-llvm.git] / lib / Target / TargetMachine.cpp
index 0bf0e374d1e737546e6d9a5453698e1bd3092c40..49f1e4dfaae6c29e61d2a7de94e2d0b152b0d3b4 100644 (file)
@@ -35,12 +35,12 @@ namespace llvm {
   Reloc::Model RelocationModel;
   CodeModel::Model CMModel;
   bool PerformTailCallOpt;
-  bool OptimizeForSize;
   unsigned StackAlignment;
   bool RealignStack;
   bool VerboseAsm;
   bool DisableJumpTables;
-  StackCanaries::Model StackProtectors;
+  bool StrongPHIElim;
+  bool DisableRedZone;
 }
 
 static cl::opt<bool, true> PrintCode("print-machineinstrs",
@@ -103,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(
@@ -119,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>
@@ -135,11 +135,6 @@ 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",
@@ -164,20 +159,17 @@ DisableSwitchTables(cl::Hidden, "disable-jump-tables",
            cl::location(DisableJumpTables),
            cl::init(false));
 
-static cl::opt<llvm::StackCanaries::Model, true>
-GenerateStackProtectors("stack-protector",
-                        cl::desc("Generate stack protectors"),
-                        cl::location(StackProtectors),
-                        cl::init(StackCanaries::Default),
-                        cl::values(
-                         clEnumValN(StackCanaries::Default, "default",
-                           "  No stack protectors"),
-                         clEnumValN(StackCanaries::On, "on",
-                           "  Generate stack protectors for functions that"
-                           "need them"),
-                         clEnumValN(StackCanaries::Always, "all",
-                           "  Generate stack protectors for all functions"),
-                         clEnumValEnd));
+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