mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
MBB::remove should not modify the iterator passed in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12572 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4f6410f5cb
commit
b4186e0ccd
@ -648,7 +648,8 @@ RecordSchedule(MachineBasicBlock &MBB, const SchedulingManager& S)
|
||||
|
||||
// Remove all except the dummy PHI instructions from MBB, and
|
||||
// pre-allocate create space for the ones we will put back in.
|
||||
while (I != MBB.end()) MBB.remove(I);
|
||||
while (I != MBB.end())
|
||||
MBB.remove(I++);
|
||||
|
||||
InstrSchedule::const_iterator NIend = S.isched.end();
|
||||
for (InstrSchedule::const_iterator NI = S.isched.begin(); NI != NIend; ++NI)
|
||||
|
@ -648,7 +648,8 @@ RecordSchedule(MachineBasicBlock &MBB, const SchedulingManager& S)
|
||||
|
||||
// Remove all except the dummy PHI instructions from MBB, and
|
||||
// pre-allocate create space for the ones we will put back in.
|
||||
while (I != MBB.end()) MBB.remove(I);
|
||||
while (I != MBB.end())
|
||||
MBB.remove(I++);
|
||||
|
||||
InstrSchedule::const_iterator NIend = S.isched.end();
|
||||
for (InstrSchedule::const_iterator NI = S.isched.begin(); NI != NIend; ++NI)
|
||||
|
@ -542,7 +542,7 @@ void PhyRegAlloc::updateMachineCode()
|
||||
}
|
||||
|
||||
// move instruction before branch
|
||||
MBB.insert(MII, MBB.remove(DelaySlotMI));
|
||||
MBB.insert(MII, MBB.remove(DelaySlotMI++));
|
||||
|
||||
// On cond1 we are done (we already moved the
|
||||
// instruction out of the delay slot). On cond2 we need
|
||||
|
Loading…
x
Reference in New Issue
Block a user