diff options
author | Lang Hames <lhames@gmail.com> | 2010-07-18 00:57:59 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2010-07-18 00:57:59 +0000 |
commit | 1392b8eb7948530dbfb8153ec822675e8bb5c860 (patch) | |
tree | c8390338d662586f126b4202fc25a33a39ce01ab /llvm/lib/CodeGen | |
parent | ad4f38b1a9ca9be17de56a19d11f4a88611647b2 (diff) | |
download | bcm5719-llvm-1392b8eb7948530dbfb8153ec822675e8bb5c860.tar.gz bcm5719-llvm-1392b8eb7948530dbfb8153ec822675e8bb5c860.zip |
Added -pbqp-pre-coalescing flag to PBQP. If enabled this will cause PBQP to require
LoopSplitter be run prior to register allocation.
Entirely for testing purposes at the moment.
llvm-svn: 108634
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/RegAllocPBQP.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegAllocPBQP.cpp b/llvm/lib/CodeGen/RegAllocPBQP.cpp index a7ea8e7c3ad..ea2a02ddffa 100644 --- a/llvm/lib/CodeGen/RegAllocPBQP.cpp +++ b/llvm/lib/CodeGen/RegAllocPBQP.cpp @@ -34,6 +34,7 @@ #include "PBQP/HeuristicSolver.h" #include "PBQP/Graph.h" #include "PBQP/Heuristics/Briggs.h" +#include "Splitter.h" #include "VirtRegMap.h" #include "VirtRegRewriter.h" #include "llvm/CodeGen/CalcSpillWeights.h" @@ -65,6 +66,11 @@ pbqpCoalescing("pbqp-coalescing", cl::desc("Attempt coalescing during PBQP register allocation."), cl::init(false), cl::Hidden); +static cl::opt<bool> +pbqpPreSplitting("pbqp-pre-splitting", + cl::desc("Pre-splite before PBQP register allocation."), + cl::init(false), cl::Hidden); + namespace { /// @@ -96,6 +102,8 @@ namespace { au.addPreserved<LiveStacks>(); au.addRequired<MachineLoopInfo>(); au.addPreserved<MachineLoopInfo>(); + if (pbqpPreSplitting) + au.addRequired<LoopSplitter>(); au.addRequired<VirtRegMap>(); MachineFunctionPass::getAnalysisUsage(au); } |