summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKang Zhang <shkzhang@cn.ibm.com>2019-06-27 03:39:09 +0000
committerKang Zhang <shkzhang@cn.ibm.com>2019-06-27 03:39:09 +0000
commit490bc46541c8f1459aaf501d0f55dbdbb05e9e39 (patch)
tree721cafafee50ed8a61e0b16edad45a892daf49bc
parentf35a3456eafa82e93938164c804683cc312ce7ec (diff)
downloadbcm5719-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.cpp8
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;
OpenPOWER on IntegriCloud