aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/LoopInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Analysis/LoopInfo.cpp')
-rw-r--r--lib/Analysis/LoopInfo.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/Analysis/LoopInfo.cpp b/lib/Analysis/LoopInfo.cpp
index a54d659dc8..ddcbbf4425 100644
--- a/lib/Analysis/LoopInfo.cpp
+++ b/lib/Analysis/LoopInfo.cpp
@@ -242,12 +242,9 @@ void Loop::addBasicBlockToLoop(BasicBlock *NewBB, LoopInfo &LI) {
void Loop::changeExitBlock(BasicBlock *Old, BasicBlock *New) {
assert(Old != New && "Cannot changeExitBlock to the same thing!");
assert(Old && New && "Cannot changeExitBlock to or from a null node!");
- std::vector<BasicBlock*>::iterator I =
- std::find(ExitBlocks.begin(), ExitBlocks.end(), Old);
- assert(I != ExitBlocks.end() && "Old exit block not found!");
- *I = New;
-
- I = std::find(I+1, ExitBlocks.end(), Old);
+ assert(hasExitBlock(Old) && "Old exit block not found!");
+ std::vector<BasicBlock*>::iterator
+ I = std::find(ExitBlocks.begin(), ExitBlocks.end(), Old);
while (I != ExitBlocks.end()) {
*I = New;
I = std::find(I+1, ExitBlocks.end(), Old);