From: Chris Lattner Date: Mon, 16 Dec 2002 16:15:51 +0000 (+0000) Subject: Add mechanism to select register allocator to use X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=439a27ac425cb9e3f3947268e268c22b78b7e7cd;p=oota-llvm.git Add mechanism to select register allocator to use git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5079 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index d710eb473d3..cdb7dea4155 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -8,11 +8,17 @@ #include "llvm/Transforms/Scalar.h" #include "llvm/Target/TargetMachineImpls.h" #include "llvm/CodeGen/MachineFunction.h" -#include "Support/Statistic.h" #include "llvm/PassManager.h" #include "X86.h" +#include "Support/CommandLine.h" +#include "Support/Statistic.h" #include +namespace { + cl::opt UseLocalRA("local-ra", + cl::desc("Use Local RegAlloc instead of Simple RA")); +} + // allocateX86TargetMachine - Allocate and return a subclass of TargetMachine // that implements the X86 backend. // @@ -43,7 +49,10 @@ bool X86TargetMachine::addPassesToJITCompile(PassManager &PM) { DEBUG(PM.add(createMachineFunctionPrinterPass())); // Perform register allocation to convert to a concrete x86 representation - PM.add(createSimpleRegisterAllocator(*this)); + if (UseLocalRA) + PM.add(createLocalRegisterAllocator(*this)); + else + PM.add(createSimpleRegisterAllocator(*this)); // Print the instruction selected machine code... // PM.add(createMachineFunctionPrinterPass());