Fix loadv2i32 to be loadv4i32, though it isn't actually used anywhere yet.
[oota-llvm.git] / lib / Target / TargetMachine.cpp
index 7547614a717425d446f0ac5772b52eae0bd2bef5..6c00a3f492b9b83c70164032c795856cc3555d5a 100644 (file)
@@ -27,7 +27,10 @@ namespace llvm {
   bool NoExcessFPPrecision;
   bool UnsafeFPMath;
   bool FiniteOnlyFPMathOption;
+  bool HonorSignDependentRoundingFPMathOption;
   bool UseSoftFloat;
+  bool NoZerosInBSS;
+  bool ExceptionHandling;
   Reloc::Model RelocationModel;
   CodeModel::Model CMModel;
 }
@@ -52,15 +55,32 @@ namespace {
                cl::location(UnsafeFPMath),
                cl::init(false));
   cl::opt<bool, true>
-  EnableFiniteOnltFPMath("enable-finite-only-fp-math",
+  EnableFiniteOnlyFPMath("enable-finite-only-fp-math",
                cl::desc("Enable optimizations that assumes non- NaNs / +-Infs"),
                cl::location(FiniteOnlyFPMathOption),
                cl::init(false));
   cl::opt<bool, true>
+  EnableHonorSignDependentRoundingFPMath(cl::Hidden,
+               "enable-sign-dependent-rounding-fp-math",
+       cl::desc("Force codegen to assume rounding mode can change dynamically"),
+               cl::location(HonorSignDependentRoundingFPMathOption),
+               cl::init(false));
+
+  cl::opt<bool, true>
   GenerateSoftFloatCalls("soft-float",
                cl::desc("Generate software floating point library calls"),
                cl::location(UseSoftFloat),
                cl::init(false));
+  cl::opt<bool, true>
+  DontPlaceZerosInBSS("nozero-initialized-in-bss",
+              cl::desc("Don't place zero-initialized symbols into bss section"),
+              cl::location(NoZerosInBSS),
+              cl::init(false));
+  cl::opt<bool, true>
+  EnableExceptionHandling("enable-eh",
+               cl::desc("Exception handling should be emitted."),
+               cl::location(ExceptionHandling),
+               cl::init(false));
 
   cl::opt<llvm::Reloc::Model, true>
   DefRelocationModel(
@@ -81,7 +101,7 @@ namespace {
   cl::opt<llvm::CodeModel::Model, true>
   DefCodeModel(
     "code-model",
-    cl::desc("Choose relocation model"),
+    cl::desc("Choose code model"),
     cl::location(CMModel),
     cl::init(CodeModel::Default),
     cl::values(
@@ -134,5 +154,11 @@ namespace llvm {
   /// the code generator is not allowed to assume that FP arithmetic arguments
   /// and results are never NaNs or +-Infs.
   bool FiniteOnlyFPMath() { return UnsafeFPMath || FiniteOnlyFPMathOption; }
+  
+  /// HonorSignDependentRoundingFPMath - Return true if the codegen must assume
+  /// that the rounding mode of the FPU can change from its default.
+  bool HonorSignDependentRoundingFPMath() {
+    return !UnsafeFPMath && HonorSignDependentRoundingFPMathOption;
+  }
 }