diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-02-19 00:53:42 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-02-19 00:53:42 +0000 |
commit | f1a60a61badefc093d74b8752001f7fc9c22608e (patch) | |
tree | b7deb041d13225bd8cd56661695892cc8a8e96d4 /llvm/lib | |
parent | 740467a24526ad505fbd1a0363a4904769a77a1d (diff) | |
download | bcm5719-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.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/CodeGen/SplitKit.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/CodeGen/SplitKit.h | 3 |
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 |