[llvm] r364496 - [NFC][PowerPC] Improve the for loop in Early Return

Kang Zhang via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 26 20:39:09 PDT 2019


Author: zhangkang
Date: Wed Jun 26 20:39:09 2019
New Revision: 364496

URL: http://llvm.org/viewvc/llvm-project?rev=364496&view=rev
Log:
[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

Modified:
    llvm/trunk/lib/Target/PowerPC/PPCEarlyReturn.cpp

Modified: llvm/trunk/lib/Target/PowerPC/PPCEarlyReturn.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCEarlyReturn.cpp?rev=364496&r1=364495&r2=364496&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCEarlyReturn.cpp (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCEarlyReturn.cpp Wed Jun 26 20:39:09 2019
@@ -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;




More information about the llvm-commits mailing list