diff options
author | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-07-21 08:24:35 +0000 |
---|---|---|
committer | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-07-21 08:24:35 +0000 |
commit | 910d0d6066f55fba7c67f2b42dd7eb4f971ca49a (patch) | |
tree | d3b2517749013ee29a476da2025e0d83524b0e1f /lib/CodeGen/Passes.cpp | |
parent | c8dec2c23e7b31e4f7a40d686d95513a442a0b6e (diff) | |
download | external_llvm-910d0d6066f55fba7c67f2b42dd7eb4f971ca49a.zip external_llvm-910d0d6066f55fba7c67f2b42dd7eb4f971ca49a.tar.gz external_llvm-910d0d6066f55fba7c67f2b42dd7eb4f971ca49a.tar.bz2 |
Add Iterative scan register allocator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15068 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Passes.cpp')
-rw-r--r-- | lib/CodeGen/Passes.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp index 37b4dde..3fd107b 100644 --- a/lib/CodeGen/Passes.cpp +++ b/lib/CodeGen/Passes.cpp @@ -18,15 +18,16 @@ 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"), + 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(local)); } @@ -42,6 +43,8 @@ FunctionPass *llvm::createRegisterAllocator() { return createLocalRegisterAllocator(); case linearscan: return createLinearScanRegisterAllocator(); + case iterativescan: + return createIterativeScanRegisterAllocator(); } } |