From 067fcb4087a2c816f6536907b9918165e5b00b33 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157146 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/RegisterCoalescer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/CodeGen/RegisterCoalescer.cpp b/lib/CodeGen/RegisterCoalescer.cpp index c7dcde6c225..f529f1899ca 100644 --- a/lib/CodeGen/RegisterCoalescer.cpp +++ b/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.34.1