aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalAnalysis.h
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-05-30 07:24:39 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-05-30 07:24:39 +0000
commit26f5a69e52b64e035d26c135979a39b39fd6ba3e (patch)
tree271929c25d879599e107f41f0f1577433b22d59d /lib/CodeGen/LiveIntervalAnalysis.h
parent25d4b54f93b121d0f6beb387e85e8b2670c02b48 (diff)
When spilling an register, introduce a new temporary for each of its
spills. This allows for more flexibility when allocating registers for spill code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13907 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.h')
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.h b/lib/CodeGen/LiveIntervalAnalysis.h
index ee28cf6bd8..dda1637984 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.h
+++ b/lib/CodeGen/LiveIntervalAnalysis.h
@@ -80,9 +80,9 @@ namespace llvm {
}
};
- struct EndPointComp {
- bool operator()(const Interval& lhs, const Interval& rhs) {
- return lhs.ranges.back().second < rhs.ranges.back().second;
+ struct StartPointPtrComp {
+ bool operator()(const Interval* lhs, const Interval* rhs) {
+ return lhs->ranges.front().first < rhs->ranges.front().first;
}
};
@@ -164,7 +164,9 @@ namespace llvm {
Intervals& getIntervals() { return intervals_; }
- void updateSpilledInterval(Interval& i, VirtRegMap& vrm, int slot);
+ std::vector<Interval*> addIntervalsForSpills(const Interval& i,
+ VirtRegMap& vrm,
+ int slot);
private:
/// computeIntervals - compute live intervals