is the first in its block. This is PR3842.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67304
91177308-0d34-0410-b5e6-
96231b3b80d8
SPAdj += Size;
- MachineBasicBlock::iterator PrevI = prior(I);
+ MachineBasicBlock::iterator PrevI = BB->end();
+ if (I != BB->begin()) PrevI = prior(I);
TRI.eliminateCallFramePseudoInstr(Fn, *BB, I);
// Visit the instructions created by eliminateCallFramePseudoInstr().
- I = next(PrevI);
+ if (PrevI == BB->end())
+ I = BB->begin(); // The replaced instr was the first in the block.
+ else
+ I = next(PrevI);
continue;
}