Only lower SELECT when using DAG based isel.
authorEvan Cheng <evan.cheng@apple.com>
Sat, 17 Dec 2005 01:22:13 +0000 (01:22 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 17 Dec 2005 01:22:13 +0000 (01:22 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24755 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86.h
lib/Target/X86/X86TargetMachine.cpp

index 7fcd0cfa9876bc7da31e14b1f519d4aef36ac557..7163d3461496030d6c6e3005bc7525f41892492d 100644 (file)
@@ -31,6 +31,7 @@ enum X86VectorEnum {
 
 extern X86VectorEnum X86Vector;
 extern bool X86ScalarSSE;
+extern bool X86DAGIsel;
 
 /// createX86ISelPattern - This pass converts an LLVM function into a 
 /// machine code representation using pattern matching and a machine
index 7520b2e4e6e784fe40b724956f1b6d93393acbfd..8abdfbf416b65f90a75683894eab6530a54620ba 100644 (file)
@@ -27,6 +27,7 @@ using namespace llvm;
 
 X86VectorEnum llvm::X86Vector = NoSSE;
 bool llvm::X86ScalarSSE = false;
+bool llvm::X86DAGIsel = false;
 
 /// X86TargetMachineModule - Note that this is used on hosts that cannot link
 /// in a library unless there are references into the library.  In particular,
@@ -44,8 +45,10 @@ namespace {
                 cl::location(X86ScalarSSE),
                 cl::init(false));
 
-  cl::opt<bool> EnableX86DAGDAG("enable-x86-dag-isel", cl::Hidden,
-                      cl::desc("Enable DAG-to-DAG isel for X86"));
+  cl::opt<bool, true> EnableX86DAGDAG("enable-x86-dag-isel", cl::Hidden,
+                      cl::desc("Enable DAG-to-DAG isel for X86"),
+                      cl::location(X86DAGIsel),
+                      cl::init(false));
   
   // FIXME: This should eventually be handled with target triples and
   // subtarget support!
@@ -124,7 +127,7 @@ bool X86TargetMachine::addPassesToEmitFile(PassManager &PM, std::ostream &Out,
   PM.add(createUnreachableBlockEliminationPass());
 
   // Install an instruction selector.
-  if (EnableX86DAGDAG)
+  if (X86DAGIsel)
     PM.add(createX86ISelDag(*this));
   else
     PM.add(createX86ISelPattern(*this));
@@ -191,7 +194,7 @@ void X86JITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
   PM.add(createUnreachableBlockEliminationPass());
 
   // Install an instruction selector.
-  if (EnableX86DAGDAG)
+  if (X86DAGIsel)
     PM.add(createX86ISelDag(TM));
   else
     PM.add(createX86ISelPattern(TM));