From: Lang Hames Date: Sun, 18 Jul 2010 00:57:59 +0000 (+0000) Subject: Added -pbqp-pre-coalescing flag to PBQP. If enabled this will cause PBQP to require X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=12f35c52a533da0c2c4c3e0a04f83355514992f9;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108634 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/RegAllocPBQP.cpp b/lib/CodeGen/RegAllocPBQP.cpp index a7ea8e7c3ad..ea2a02ddffa 100644 --- a/lib/CodeGen/RegAllocPBQP.cpp +++ b/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 +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(); au.addRequired(); au.addPreserved(); + if (pbqpPreSplitting) + au.addRequired(); au.addRequired(); MachineFunctionPass::getAnalysisUsage(au); }