[llvm-commits] CVS: llvm/lib/Target/X86/X86TargetMachine.cpp
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Oct 2 01:14:01 PDT 2003
Changes in directory llvm/lib/Target/X86:
X86TargetMachine.cpp updated: 1.27 -> 1.28
---
Log message:
Change llc command line for register allocators
---
Diffs of the changes:
Index: llvm/lib/Target/X86/X86TargetMachine.cpp
diff -u llvm/lib/Target/X86/X86TargetMachine.cpp:1.27 llvm/lib/Target/X86/X86TargetMachine.cpp:1.28
--- llvm/lib/Target/X86/X86TargetMachine.cpp:1.27 Wed Oct 1 14:40:13 2003
+++ llvm/lib/Target/X86/X86TargetMachine.cpp Thu Oct 2 01:13:19 2003
@@ -16,8 +16,15 @@
#include "Support/Statistic.h"
namespace {
- cl::opt<bool> NoLocalRA("disable-local-ra",
- cl::desc("Use Simple RA instead of Local RegAlloc"));
+ 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"),
+ 0),
+ cl::init(local));
+
cl::opt<bool> PrintCode("print-machineinstrs",
cl::desc("Print generated machine code"));
cl::opt<bool> NoPatternISel("disable-pattern-isel", cl::init(true),
@@ -66,10 +73,16 @@
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());
@@ -113,10 +126,16 @@
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());
More information about the llvm-commits
mailing list