New temporary option -new-cc-modeling-scheme to test the new cc modeling scheme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42283 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h
index 76f2d55..0d2911e 100644
--- a/include/llvm/Target/TargetOptions.h
+++ b/include/llvm/Target/TargetOptions.h
@@ -73,6 +73,10 @@
   /// ExceptionHandling - This flag indicates that exception information should
   /// be emitted.
   extern bool ExceptionHandling;
+
+  /// NewCCModeling - This temporary flag indicates whether to use the new
+  /// condition code modeling scheme.
+  extern bool NewCCModeling;
   
 } // End llvm namespace
 
diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp
index 6c00a3f..3c00428 100644
--- a/lib/Target/TargetMachine.cpp
+++ b/lib/Target/TargetMachine.cpp
@@ -31,6 +31,7 @@
   bool UseSoftFloat;
   bool NoZerosInBSS;
   bool ExceptionHandling;
+  bool NewCCModeling;
   Reloc::Model RelocationModel;
   CodeModel::Model CMModel;
 }
@@ -116,6 +117,11 @@
       clEnumValN(CodeModel::Large, "large",
                  "  Large code model"),
       clEnumValEnd));
+  cl::opt<bool, true>
+  EnableNewCCModeling("new-cc-modeling-scheme",
+                      cl::desc("New CC modeling scheme."),
+                      cl::location(NewCCModeling),
+                      cl::init(false));
 }
 
 //---------------------------------------------------------------------------