diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-06-24 23:57:35 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-06-24 23:57:35 +0000 |
| commit | 889ab7d15888f64826009cded172f0dced5b590c (patch) | |
| tree | 200ec56cc78ada5b3e647f09e6115c52187cf050 /llvm/lib/CodeGen/LiveInterval.cpp | |
| parent | 600658a4ba2b330d6d98ddb964a5e03506917e29 (diff) | |
| download | llvm-889ab7d15888f64826009cded172f0dced5b590c.zip llvm-889ab7d15888f64826009cded172f0dced5b590c.tar.gz llvm-889ab7d15888f64826009cded172f0dced5b590c.tar.bz2 | |
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
Diffstat (limited to 'llvm/lib/CodeGen/LiveInterval.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/LiveInterval.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/LiveInterval.cpp b/llvm/lib/CodeGen/LiveInterval.cpp index 7eb430db..bf0bdd1 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); |
