diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp b/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp index 6c08bcde1b3..aa5d830b549 100644 --- a/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp +++ b/llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp @@ -179,11 +179,11 @@ public: // nothing to do. if (MF.size() < 2) return Changed; - - for (MachineFunction::iterator I = MF.begin(); I != MF.end();) { + + // We can't use a range-based for loop due to clobbering the iterator. + for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E;) { MachineBasicBlock &B = *I++; - if (processBlock(B)) - Changed = true; + Changed |= processBlock(B); } return Changed; |

