summaryrefslogtreecommitdiff
path: root/lib/CodeGen/Spiller.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2009-12-22 00:11:50 +0000
committerLang Hames <lhames@gmail.com>2009-12-22 00:11:50 +0000
commit74ab5eeffbd70f2387338e3ee8195be9f73e6dd8 (patch)
tree69244a4a36283b0db2934bf3526a92ff6a44b9ae /lib/CodeGen/Spiller.cpp
parent87710f04e551655c0c98fb7c0bfd9ec58224a804 (diff)
downloadllvm-74ab5eeffbd70f2387338e3ee8195be9f73e6dd8.tar.gz
llvm-74ab5eeffbd70f2387338e3ee8195be9f73e6dd8.tar.bz2
llvm-74ab5eeffbd70f2387338e3ee8195be9f73e6dd8.tar.xz
Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint.
This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91859 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/Spiller.cpp')
-rw-r--r--lib/CodeGen/Spiller.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/CodeGen/Spiller.cpp b/lib/CodeGen/Spiller.cpp
index bc246c14b7..bec92949cc 100644
--- a/lib/CodeGen/Spiller.cpp
+++ b/lib/CodeGen/Spiller.cpp
@@ -486,10 +486,10 @@ private:
SlotIndex newKillRangeEnd = oldKillRange->end;
oldKillRange->end = copyIdx.getDefIndex();
- if (newKillRangeEnd != lis->getMBBEndIdx(killMBB).getNextSlot()) {
- assert(newKillRangeEnd > lis->getMBBEndIdx(killMBB).getNextSlot() &&
+ if (newKillRangeEnd != lis->getMBBEndIdx(killMBB)) {
+ assert(newKillRangeEnd > lis->getMBBEndIdx(killMBB) &&
"PHI kill range doesn't reach kill-block end. Not sane.");
- newLI->addRange(LiveRange(lis->getMBBEndIdx(killMBB).getNextSlot(),
+ newLI->addRange(LiveRange(lis->getMBBEndIdx(killMBB),
newKillRangeEnd, newVNI));
}
@@ -500,7 +500,7 @@ private:
newKillVNI->addKill(lis->getMBBTerminatorGap(killMBB));
newKillVNI->setHasPHIKill(true);
li->addRange(LiveRange(copyIdx.getDefIndex(),
- lis->getMBBEndIdx(killMBB).getNextSlot(),
+ lis->getMBBEndIdx(killMBB),
newKillVNI));
}