aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Utils/CloneLoop.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-01-05 16:27:25 +0000
committerDan Gohman <gohman@apple.com>2010-01-05 16:27:25 +0000
commit321a813c536e2f1f2f05bbe78a7fbf64046f0557 (patch)
tree550286e12d0329b7e1ab4b88483a741672bd9515 /lib/Transforms/Utils/CloneLoop.cpp
parentb7a9f2b5042589db89e521a4f86fd2fd70845e0f (diff)
downloadexternal_llvm-321a813c536e2f1f2f05bbe78a7fbf64046f0557.zip
external_llvm-321a813c536e2f1f2f05bbe78a7fbf64046f0557.tar.gz
external_llvm-321a813c536e2f1f2f05bbe78a7fbf64046f0557.tar.bz2
Use do+while instead of while for loops which obviously have a
non-zero trip count. Use SmallVector's pop_back_val(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92734 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/CloneLoop.cpp')
-rw-r--r--lib/Transforms/Utils/CloneLoop.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Transforms/Utils/CloneLoop.cpp b/lib/Transforms/Utils/CloneLoop.cpp
index 7e000a1..38928dc 100644
--- a/lib/Transforms/Utils/CloneLoop.cpp
+++ b/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(),