diff options
| author | Kang Zhang <shkzhang@cn.ibm.com> | 2019-06-27 03:39:09 +0000 |
|---|---|---|
| committer | Kang Zhang <shkzhang@cn.ibm.com> | 2019-06-27 03:39:09 +0000 |
| commit | 490bc46541c8f1459aaf501d0f55dbdbb05e9e39 (patch) | |
| tree | 721cafafee50ed8a61e0b16edad45a892daf49bc | |
| parent | f35a3456eafa82e93938164c804683cc312ce7ec (diff) | |
| download | bcm5719-llvm-490bc46541c8f1459aaf501d0f55dbdbb05e9e39.tar.gz bcm5719-llvm-490bc46541c8f1459aaf501d0f55dbdbb05e9e39.zip | |
[NFC][PowerPC] Improve the for loop in Early Return
Summary:
In `PPCEarlyReturn.cpp`
```
183 for (MachineFunction::iterator I = MF.begin(); I != MF.end();) {
184 MachineBasicBlock &B = *I++;
185 if (processBlock(B))
186 Changed = true;
187 }
```
Above code can be improved to:
```
184 for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E;) {
185 MachineBasicBlock &B = *I++;
186 Changed |= processBlock(B);
187 }
```
Reviewed By: hfinkel
Differential Revision: https://reviews.llvm.org/D63800
llvm-svn: 364496
| -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; |

