Remove live interval entries for an interval if we're eliminating its only VN.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54062 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2008-07-25 21:08:41 +00:00
parent 8d0cc0af5a
commit 55c64358d1

View File

@ -794,7 +794,12 @@ void StrongPHIElimination::mergeLiveIntervals(unsigned primary,
LI.getVNInfoAllocator());
NewVN->hasPHIKill = true;
LiveRange NewRange(RangeMergingIn->start, RangeMergingIn->end, NewVN);
RHS.removeRange(RangeMergingIn->start, RangeMergingIn->end, true);
if (RHS.containsOneValue())
LI.removeInterval(RHS.reg);
else
RHS.removeRange(RangeMergingIn->start, RangeMergingIn->end, true);
LHS.addRange(NewRange);
}