diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-04-19 17:17:58 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-04-19 17:17:58 +0000 |
commit | 430721cff8bc3b5baceab7700bcb9b6a51d70327 (patch) | |
tree | b23b74840a11a46b7a87283f0b4752dbeef78037 | |
parent | 37d38bfbbf2b8db2c75b2edbd8cd30c51746fd5d (diff) |
Force the greedy register allocator to be linked alongside linear scan.
This means that the new register allocator can be used with 'clang -mllvm -regalloc=greedy'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129764 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/Passes.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/Passes.cpp b/lib/CodeGen/Passes.cpp index 3489db2e9f..c62227535f 100644 --- a/lib/CodeGen/Passes.cpp +++ b/lib/CodeGen/Passes.cpp @@ -55,6 +55,11 @@ FunctionPass *llvm::createRegisterAllocator(CodeGenOpt::Level OptLevel) { RegisterRegAlloc::setDefault(RegAlloc); } + // This forces linking of the greedy register allocator, so -regalloc=greedy + // works in clang. + if (Ctor == createGreedyRegisterAllocator) + return createGreedyRegisterAllocator(); + if (Ctor != createDefaultRegisterAllocator) return Ctor(); |