From 64d82b74dd16213bc58ba9feed846760df0bfe5f Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Sun, 20 May 2012 03:57:12 +0000 Subject: [PATCH] Fix build bots. Avoid looking at the operands of a potentially erased instruction. llvm-svn: 157146 --- llvm/lib/CodeGen/RegisterCoalescer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/lib/CodeGen/RegisterCoalescer.cpp b/llvm/lib/CodeGen/RegisterCoalescer.cpp index c7dcde6..f529f18 100644 --- a/llvm/lib/CodeGen/RegisterCoalescer.cpp +++ b/llvm/lib/CodeGen/RegisterCoalescer.cpp @@ -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::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(); } -- 2.7.4