Răsfoiți Sursa

[NFC][CodeGen] Use while loop instead for loop in MachineBlockPlacement::optimizeBranches()
This will pass EXPENSIVE check.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368532 91177308-0d34-0410-b5e6-96231b3b80d8

Kang Zhang 6 ani în urmă
părinte
comite
bc85dcd433
1 a modificat fișierele cu 4 adăugiri și 3 ștergeri
  1. 4 3
      lib/CodeGen/MachineBlockPlacement.cpp

+ 4 - 3
lib/CodeGen/MachineBlockPlacement.cpp

@@ -2789,9 +2789,10 @@ void MachineBlockPlacement::optimizeBranches() {
           ChainBB->removeSuccessor(TBB);
 
           // Update the CFG.
-          for (MachineBasicBlock::pred_iterator PI = TBB->pred_begin(),
-               PE = TBB->pred_end(); PI != PE; ++PI)
-            (*PI)->ReplaceUsesOfBlockWith(TBB, ChainBB);
+          while (!TBB->pred_empty()) {
+            MachineBasicBlock *Pred = *(TBB->pred_end()-1);
+            Pred->ReplaceUsesOfBlockWith(TBB, ChainBB);
+          }
 
           for (MachineBasicBlock *Succ : TBB->successors())
             ChainBB->addSuccessor(Succ, MBPI->getEdgeProbability(TBB, Succ));