summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-02-19 00:53:42 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-02-19 00:53:42 +0000
commitf1a60a61badefc093d74b8752001f7fc9c22608e (patch)
treeb7deb041d13225bd8cd56661695892cc8a8e96d4 /llvm/lib
parent740467a24526ad505fbd1a0363a4904769a77a1d (diff)
downloadbcm5719-llvm-f1a60a61badefc093d74b8752001f7fc9c22608e.tar.gz
bcm5719-llvm-f1a60a61badefc093d74b8752001f7fc9c22608e.zip
Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal().
llvm-svn: 126005
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/RegAllocGreedy.cpp2
-rw-r--r--llvm/lib/CodeGen/SplitKit.cpp7
-rw-r--r--llvm/lib/CodeGen/SplitKit.h3
3 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/RegAllocGreedy.cpp b/llvm/lib/CodeGen/RegAllocGreedy.cpp
index 3c65cf3b29b..c1372cd038c 100644
--- a/llvm/lib/CodeGen/RegAllocGreedy.cpp
+++ b/llvm/lib/CodeGen/RegAllocGreedy.cpp
@@ -1266,7 +1266,7 @@ bool RAGreedy::runOnMachineFunction(MachineFunction &mf) {
Bundles = &getAnalysis<EdgeBundles>();
SpillPlacer = &getAnalysis<SpillPlacement>();
- SA.reset(new SplitAnalysis(*MF, *LIS, *Loops));
+ SA.reset(new SplitAnalysis(*VRM, *LIS, *Loops));
allocatePhysRegs();
addMBBLiveIns(MF);
diff --git a/llvm/lib/CodeGen/SplitKit.cpp b/llvm/lib/CodeGen/SplitKit.cpp
index 7b02b266232..5663936bf3a 100644
--- a/llvm/lib/CodeGen/SplitKit.cpp
+++ b/llvm/lib/CodeGen/SplitKit.cpp
@@ -37,13 +37,14 @@ AllowSplit("spiller-splits-edges",
// Split Analysis
//===----------------------------------------------------------------------===//
-SplitAnalysis::SplitAnalysis(const MachineFunction &mf,
+SplitAnalysis::SplitAnalysis(const VirtRegMap &vrm,
const LiveIntervals &lis,
const MachineLoopInfo &mli)
- : MF(mf),
+ : MF(vrm.getMachineFunction()),
+ VRM(vrm),
LIS(lis),
Loops(mli),
- TII(*mf.getTarget().getInstrInfo()),
+ TII(*MF.getTarget().getInstrInfo()),
CurLI(0) {}
void SplitAnalysis::clear() {
diff --git a/llvm/lib/CodeGen/SplitKit.h b/llvm/lib/CodeGen/SplitKit.h
index 7adc0be10de..5c34afd1c81 100644
--- a/llvm/lib/CodeGen/SplitKit.h
+++ b/llvm/lib/CodeGen/SplitKit.h
@@ -43,6 +43,7 @@ typedef DomTreeNodeBase<MachineBasicBlock> MachineDomTreeNode;
class SplitAnalysis {
public:
const MachineFunction &MF;
+ const VirtRegMap &VRM;
const LiveIntervals &LIS;
const MachineLoopInfo &Loops;
const TargetInstrInfo &TII;
@@ -105,7 +106,7 @@ private:
bool canAnalyzeBranch(const MachineBasicBlock *MBB);
public:
- SplitAnalysis(const MachineFunction &mf, const LiveIntervals &lis,
+ SplitAnalysis(const VirtRegMap &vrm, const LiveIntervals &lis,
const MachineLoopInfo &mli);
/// analyze - set CurLI to the specified interval, and analyze how it may be
OpenPOWER on IntegriCloud