Use a do-while loop instead of while + boolean.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 7 Jan 2010 13:50:07 +0000 (13:50 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 7 Jan 2010 13:50:07 +0000 (13:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92912 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/JumpThreading.cpp

index fadbec58d7af8a99c392e80d479e22f0bffa5657..ab7d9718ed72615ca07e81b53d2bff44646adfdf 100644 (file)
@@ -124,10 +124,9 @@ bool JumpThreading::runOnFunction(Function &F) {
   
   FindLoopHeaders(F);
   
-  bool AnotherIteration = true, EverChanged = false;
-  while (AnotherIteration) {
-    AnotherIteration = false;
-    bool Changed = false;
+  bool Changed, EverChanged = false;
+  do {
+    Changed = false;
     for (Function::iterator I = F.begin(), E = F.end(); I != E;) {
       BasicBlock *BB = I;
       // Thread all of the branches we can over this block. 
@@ -176,9 +175,8 @@ bool JumpThreading::runOnFunction(Function &F) {
         }
       }
     }
-    AnotherIteration = Changed;
     EverChanged |= Changed;
-  }
+  } while (Changed);
   
   LoopHeaders.clear();
   return EverChanged;