Use a do-while loop instead of while + boolean.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92912 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer 2010-01-07 13:50:07 +00:00
parent 452394d812
commit 66b581ef49

View 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;