summaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveInterval.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-06-24 23:57:35 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-06-24 23:57:35 +0000
commitfa1e73c447b61ba180cc85b78b53d78a6b63bbf6 (patch)
tree99f0a42569d3431d96b3bfb83a4f959990caf087 /lib/CodeGen/LiveInterval.cpp
parent1cf753c87dc329404d5ac4bea7dd7fca813d510a (diff)
downloadllvm-fa1e73c447b61ba180cc85b78b53d78a6b63bbf6.tar.gz
llvm-fa1e73c447b61ba180cc85b78b53d78a6b63bbf6.tar.bz2
llvm-fa1e73c447b61ba180cc85b78b53d78a6b63bbf6.tar.xz
Make sure all eliminated kills are removed from VNInfo lists.
This fixes PR7479 and PR7485. The test cases from those PRs are big, so not included. However, PR7485 comes from self hosting on FreeBSD, so we will surely hear about any regression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106811 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveInterval.cpp')
-rw-r--r--lib/CodeGen/LiveInterval.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp
index 7eb430db48..bf0bdd183c 100644
--- a/lib/CodeGen/LiveInterval.cpp
+++ b/lib/CodeGen/LiveInterval.cpp
@@ -484,6 +484,8 @@ void LiveInterval::join(LiveInterval &Other,
I->valno = NewVNInfo[OtherAssignments[RangeNo]];
assert(I->valno && "Adding a dead range?");
InsertPos = addRangeFrom(*I, InsertPos);
+ InsertPos->valno->removeKills(InsertPos->start,
+ InsertPos->end.getPrevSlot());
}
ComputeJoinedWeight(Other);