Fix a regression in InstCombine/xor.ll
[oota-llvm.git] / lib / CodeGen / Passes.cpp
index b390e037f6d4ce48d00f46975692fe5390c76e1c..7233e81473b6e033d572ce3adf7180aa18aa37de 100644 (file)
 using namespace llvm;
 
 namespace {
-  enum RegAllocName { simple, local, linearscan };
+  enum RegAllocName { simple, local, linearscan, iterativescan };
 
   cl::opt<RegAllocName>
-  RegAlloc("regalloc",
-           cl::desc("Register allocator to use: (default = simple)"),
-           cl::Prefix,
-           cl::values(clEnumVal(simple,      "  simple register allocator"),
-                      clEnumVal(local,       "  local register allocator"),
-                      clEnumVal(linearscan,  "  linear scan register allocator (experimental)"),
-                      clEnumValEnd),
-           cl::init(local));
+  RegAlloc(
+    "regalloc",
+    cl::desc("Register allocator to use: (default = linearscan)"),
+    cl::Prefix,
+    cl::values(
+       clEnumVal(simple,        "  simple register allocator"),
+       clEnumVal(local,         "  local register allocator"),
+       clEnumVal(linearscan,    "  linear scan register allocator"),
+       clEnumVal(iterativescan, "  iterative scan register allocator"),
+       clEnumValEnd),
+    cl::init(linearscan));
 }
 
 FunctionPass *llvm::createRegisterAllocator() {
@@ -42,6 +45,8 @@ FunctionPass *llvm::createRegisterAllocator() {
     return createLocalRegisterAllocator();
   case linearscan:
     return createLinearScanRegisterAllocator();
+  case iterativescan:
+    return createIterativeScanRegisterAllocator();
   }
 }