summaryrefslogtreecommitdiffstats
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
commit889ab7d15888f64826009cded172f0dced5b590c (patch)
tree200ec56cc78ada5b3e647f09e6115c52187cf050
parent600658a4ba2b330d6d98ddb964a5e03506917e29 (diff)
downloadbcm5719-llvm-889ab7d15888f64826009cded172f0dced5b590c.tar.gz
bcm5719-llvm-889ab7d15888f64826009cded172f0dced5b590c.zip
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. llvm-svn: 106811
-rw-r--r--llvm/lib/CodeGen/LiveInterval.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LiveInterval.cpp b/llvm/lib/CodeGen/LiveInterval.cpp
index 7eb430db480..bf0bdd183c8 100644
--- a/llvm/lib/CodeGen/LiveInterval.cpp
+++ b/llvm/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);
OpenPOWER on IntegriCloud