Change llc command line for register allocators
[oota-llvm.git] / lib / Target / X86 / X86TargetMachine.cpp
index e58ac31c7f2350a73849feaf031c951bcb614d06..8f6829f6de4ad49341048714df9e58e013257e98 100644 (file)
 namespace {
   cl::opt<RegAllocName>
   RegAlloc("regalloc",
-           cl::desc("Register allocator to use:"), cl::Prefix,
-           cl::values(clEnumVal(simple, "simple register allocator)"),
-                      clEnumVal(local, "local register allocator"),
-                      clEnumVal(linearscan, "linear scan global register allocator")),
+           cl::desc("Register allocator to use: (default = simple)"),
+           cl::Prefix,
+           cl::values(clEnumVal(simple, "  simple register allocator"),
+                      clEnumVal(local,  "  local register allocator"),
+                      0),
            cl::init(local));
 
-  cl::opt<bool> NoLocalRA("disable-local-ra",
-                          cl::desc("Use Simple RA instead of Local RegAlloc"));
   cl::opt<bool> PrintCode("print-machineinstrs",
                          cl::desc("Print generated machine code"));
   cl::opt<bool> NoPatternISel("disable-pattern-isel", cl::init(true),
@@ -74,10 +73,16 @@ bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM,
     PM.add(createMachineFunctionPrinterPass());
 
   // Perform register allocation to convert to a concrete x86 representation
-  if (NoLocalRA)
+  switch (RegAlloc) {
+  case simple:
     PM.add(createSimpleRegisterAllocator());
-  else
+    break;
+  case local:
     PM.add(createLocalRegisterAllocator());
+    break;
+  default:
+    assert(0 && "no register allocator selected");
+  }
 
   if (PrintCode)
     PM.add(createMachineFunctionPrinterPass());
@@ -128,9 +133,6 @@ bool X86TargetMachine::addPassesToJITCompile(FunctionPassManager &PM) {
   case local:
     PM.add(createLocalRegisterAllocator());
     break;
-  case linearscan:
-    PM.add(createLinearScanRegisterAllocator());
-    break;
   default:
     assert(0 && "no register allocator selected");
   }