diff options
author | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-05-30 07:24:39 +0000 |
---|---|---|
committer | Alkis Evlogimenos <alkis@evlogimenos.com> | 2004-05-30 07:24:39 +0000 |
commit | 26f5a69e52b64e035d26c135979a39b39fd6ba3e (patch) | |
tree | 271929c25d879599e107f41f0f1577433b22d59d /lib/CodeGen/LiveIntervalAnalysis.h | |
parent | 25d4b54f93b121d0f6beb387e85e8b2670c02b48 (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.h | 10 |
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 |