From: Jakob Stoklund Olesen Date: Thu, 24 Jun 2010 23:57:35 +0000 (+0000) Subject: Make sure all eliminated kills are removed from VNInfo lists. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=fa1e73c447b61ba180cc85b78b53d78a6b63bbf6;p=oota-llvm.git 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 --- diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp index 7eb430db480..bf0bdd183c8 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);