mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-20 02:58:10 +00:00
Fix PEI to not walk off the start of a block when an updated instruction
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
This commit is contained in:
parent
bf5836b075
commit
5e6345bde0
@ -533,11 +533,15 @@ void PEI::replaceFrameIndices(MachineFunction &Fn) {
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user