summaryrefslogtreecommitdiff
path: root/lib/CodeGen/SplitKit.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-28 20:34:50 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-28 20:34:50 +0000
commitd68f458244b9d9a6644a9550dd5cee60331c9e7d (patch)
treebe0b854b155d5095eeb52ab05922ec2a16742ad2 /lib/CodeGen/SplitKit.h
parent26b92be9222e267447efe943f12848775075e22f (diff)
downloadllvm-d68f458244b9d9a6644a9550dd5cee60331c9e7d.tar.gz
llvm-d68f458244b9d9a6644a9550dd5cee60331c9e7d.tar.bz2
llvm-d68f458244b9d9a6644a9550dd5cee60331c9e7d.tar.xz
Make MachineDominators available for SplitEditor. We are going to need it for
proper SSA updating. This doesn't cause MachineDominators to be recomputed since we are already requiring MachineLoopInfo which uses dominators as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117598 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SplitKit.h')
-rw-r--r--lib/CodeGen/SplitKit.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h
index 9c109dc4d5..9ba7cbeb10 100644
--- a/lib/CodeGen/SplitKit.h
+++ b/lib/CodeGen/SplitKit.h
@@ -22,6 +22,7 @@ class LiveInterval;
class LiveIntervals;
class LiveRangeEdit;
class MachineInstr;
+class MachineDominatorTree;
class MachineLoop;
class MachineLoopInfo;
class MachineRegisterInfo;
@@ -154,6 +155,7 @@ public:
/// Values in parentli_ may map to any number of openli_ values, including 0.
class LiveIntervalMap {
LiveIntervals &lis_;
+ MachineDominatorTree &mdt_;
// The parent interval is never changed.
const LiveInterval &parentli_;
@@ -171,8 +173,9 @@ class LiveIntervalMap {
public:
LiveIntervalMap(LiveIntervals &lis,
+ MachineDominatorTree &mdt,
const LiveInterval &parentli)
- : lis_(lis), parentli_(parentli), li_(0) {}
+ : lis_(lis), mdt_(mdt), parentli_(parentli), li_(0) {}
/// reset - clear all data structures and start a new live interval.
void reset(LiveInterval *);
@@ -285,7 +288,8 @@ class SplitEditor {
public:
/// Create a new SplitEditor for editing the LiveInterval analyzed by SA.
/// Newly created intervals will be appended to newIntervals.
- SplitEditor(SplitAnalysis &SA, LiveIntervals&, VirtRegMap&, LiveRangeEdit&);
+ SplitEditor(SplitAnalysis &SA, LiveIntervals&, VirtRegMap&,
+ MachineDominatorTree&, LiveRangeEdit&);
/// getAnalysis - Get the corresponding analysis.
SplitAnalysis &getAnalysis() { return sa_; }