Update Thumb2 to not use CarryDefIsUnused or CarryDefIsUsed predicates, but
[oota-llvm.git] / lib / Target / TargetMachine.cpp
index fdf157a1e610baffd626ce8947c3da5631521cf7..88871e3580ccc80e9c3a7993a9ce179c8a8d09f8 100644 (file)
@@ -35,10 +35,12 @@ namespace llvm {
   bool NoZerosInBSS;
   bool DwarfExceptionHandling;
   bool SjLjExceptionHandling;
+  bool JITEmitDebugInfo;
+  bool JITEmitDebugInfoToDisk;
   bool UnwindTablesMandatory;
   Reloc::Model RelocationModel;
   CodeModel::Model CMModel;
-  bool PerformTailCallOpt;
+  bool GuaranteedTailCallOpt;
   unsigned StackAlignment;
   bool RealignStack;
   bool DisableJumpTables;
@@ -114,6 +116,24 @@ EnableSjLjExceptionHandling("enable-sjlj-eh",
   cl::desc("Emit SJLJ exception handling (default if target supports)"),
   cl::location(SjLjExceptionHandling),
   cl::init(false));
+// In debug builds, make this default to true.
+#ifdef NDEBUG
+#define EMIT_DEBUG false
+#else
+#define EMIT_DEBUG true
+#endif
+static cl::opt<bool, true>
+EmitJitDebugInfo("jit-emit-debug",
+  cl::desc("Emit debug information to debugger"),
+  cl::location(JITEmitDebugInfo),
+  cl::init(EMIT_DEBUG));
+#undef EMIT_DEBUG
+static cl::opt<bool, true>
+EmitJitDebugInfoToDisk("jit-emit-debug-to-disk",
+  cl::Hidden,
+  cl::desc("Emit debug info objfiles to disk"),
+  cl::location(JITEmitDebugInfoToDisk),
+  cl::init(false));
 static cl::opt<bool, true>
 EnableUnwindTables("unwind-tables",
   cl::desc("Generate unwinding tables for all functions"),
@@ -153,9 +173,9 @@ DefCodeModel("code-model",
                "Large code model"),
     clEnumValEnd));
 static cl::opt<bool, true>
-EnablePerformTailCallOpt("tailcallopt",
-  cl::desc("Turn on tail call optimization."),
-  cl::location(PerformTailCallOpt),
+EnableGuaranteedTailCallOpt("tailcallopt",
+  cl::desc("Turn fastcc calls into tail calls by (potentially) changing ABI."),
+  cl::location(GuaranteedTailCallOpt),
   cl::init(false));
 static cl::opt<unsigned, true>
 OverrideStackAlignment("stack-alignment",
@@ -243,4 +263,3 @@ namespace llvm {
     return !UnsafeFPMath && HonorSignDependentRoundingFPMathOption;
   }
 }
-