Fix build bots.

Avoid looking at the operands of a potentially erased instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157146 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen 2012-05-20 03:57:12 +00:00
parent 97769fcdd1
commit 067fcb4087

View File

@ -1441,10 +1441,10 @@ bool RegisterCoalescer::joinIntervals(CoalescerPair &CP) {
// Now erase all the redundant copies.
for (unsigned i = 0, e = DeadCopies.size(); i != e; ++i) {
MachineInstr *MI = DeadCopies[i];
DEBUG(dbgs() << "\t\terased:\t" << LIS->getInstructionIndex(MI)
<< '\t' << *MI);
if (!ErasedInstrs.insert(MI))
continue;
DEBUG(dbgs() << "\t\terased:\t" << LIS->getInstructionIndex(MI)
<< '\t' << *MI);
LIS->RemoveMachineInstrFromMaps(MI);
MI->eraseFromParent();
}
@ -1453,6 +1453,8 @@ bool RegisterCoalescer::joinIntervals(CoalescerPair &CP) {
for (SmallVector<MachineInstr*, 8>::iterator I = DupCopies.begin(),
E = DupCopies.end(); I != E; ++I) {
MachineInstr *MI = *I;
if (!ErasedInstrs.insert(MI))
continue;
// We have pretended that the assignment to B in
// A = X
@ -1462,8 +1464,6 @@ bool RegisterCoalescer::joinIntervals(CoalescerPair &CP) {
// A = X
unsigned Src = MI->getOperand(1).getReg();
SourceRegisters.push_back(Src);
if (!ErasedInstrs.insert(MI))
continue;
LIS->RemoveMachineInstrFromMaps(MI);
MI->eraseFromParent();
}