diff options
| author | Dan Gohman <gohman@apple.com> | 2010-01-05 16:27:25 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2010-01-05 16:27:25 +0000 |
| commit | 28943873e66fcd1640062dd9b481c2b44ed4e397 (patch) | |
| tree | 1e3a9cea2c2dab6b0f40ac1e4acb9586434057e2 /llvm/lib/Transforms/Utils | |
| parent | 92fdb96474961ffbee73dce4ba7af7a25ae9c263 (diff) | |
| download | bcm5719-llvm-28943873e66fcd1640062dd9b481c2b44ed4e397.tar.gz bcm5719-llvm-28943873e66fcd1640062dd9b481c2b44ed4e397.zip | |
Use do+while instead of while for loops which obviously have a
non-zero trip count. Use SmallVector's pop_back_val().
llvm-svn: 92734
Diffstat (limited to 'llvm/lib/Transforms/Utils')
| -rw-r--r-- | llvm/lib/Transforms/Utils/CloneLoop.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Utils/Local.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/Utils/CloneLoop.cpp b/llvm/lib/Transforms/Utils/CloneLoop.cpp index 7e000a1a75f..38928dc7cc8 100644 --- a/llvm/lib/Transforms/Utils/CloneLoop.cpp +++ b/llvm/lib/Transforms/Utils/CloneLoop.cpp @@ -91,7 +91,7 @@ Loop *llvm::CloneLoop(Loop *OrigL, LPPassManager *LPM, LoopInfo *LI, Loop *NewParentLoop = NULL; - while (!LoopNest.empty()) { + do { Loop *L = LoopNest.pop_back_val(); Loop *NewLoop = new Loop(); @@ -123,7 +123,7 @@ Loop *llvm::CloneLoop(Loop *OrigL, LPPassManager *LPM, LoopInfo *LI, // Process sub loops for (Loop::iterator I = L->begin(), E = L->end(); I != E; ++I) LoopNest.push_back(*I); - } + } while (!LoopNest.empty()); // Remap instructions to reference operands from ValueMap. for(SmallVector<BasicBlock *, 16>::iterator NBItr = NewBlocks.begin(), diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index 27d9a06bfc6..30fe8025135 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -278,7 +278,7 @@ bool llvm::RecursivelyDeleteTriviallyDeadInstructions(Value *V) { SmallVector<Instruction*, 16> DeadInsts; DeadInsts.push_back(I); - while (!DeadInsts.empty()) { + do { I = DeadInsts.pop_back_val(); // Null out all of the instruction's operands to see if any operand becomes @@ -298,7 +298,7 @@ bool llvm::RecursivelyDeleteTriviallyDeadInstructions(Value *V) { } I->eraseFromParent(); - } + } while (!DeadInsts.empty()); return true; } diff --git a/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 846e432a7df..baaa130df68 100644 --- a/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -448,13 +448,13 @@ void PromoteMem2Reg::run() { // std::vector<RenamePassData> RenamePassWorkList; RenamePassWorkList.push_back(RenamePassData(F.begin(), 0, Values)); - while (!RenamePassWorkList.empty()) { + do { RenamePassData RPD; RPD.swap(RenamePassWorkList.back()); RenamePassWorkList.pop_back(); // RenamePass may add new worklist entries. RenamePass(RPD.BB, RPD.Pred, RPD.Values, RenamePassWorkList); - } + } while (!RenamePassWorkList.empty()); // The renamer uses the Visited set to avoid infinite loops. Clear it now. Visited.clear(); |

