From: Chris Lattner Date: Sun, 17 Aug 2003 21:47:33 +0000 (+0000) Subject: Fix the bug that broke the nightly tester in McCat/18-imp last night. :( X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=169db9d775ad44f31c6aa1985e33933ed3740704;p=oota-llvm.git Fix the bug that broke the nightly tester in McCat/18-imp last night. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7925 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/LoopInfo.cpp b/lib/Analysis/LoopInfo.cpp index a86d73b34a4..c31e55511b0 100644 --- a/lib/Analysis/LoopInfo.cpp +++ b/lib/Analysis/LoopInfo.cpp @@ -220,15 +220,15 @@ Loop *LoopInfo::ConsiderForLoop(BasicBlock *BB, const DominatorSet &DS) { if (BlockLoop == 0) { // Child block not processed yet... BlockLoop = Child; } else if (BlockLoop != Child) { + Loop *SubLoop = BlockLoop; + // Reparent all of the blocks which used to belong to BlockLoops + for (unsigned j = 0, e = SubLoop->Blocks.size(); j != e; ++j) + ContainingLoops[SubLoop->Blocks[j]] = Child; + // There is already a loop which contains this block, that means // that we should reparent the loop which the block is currently // considered to belong to to be a child of this loop. - MoveSiblingLoopInto(BlockLoop, Child); - - // Reparent all of the blocks which used to belong to BlockLoops - for (unsigned j = 0, e = BlockLoop->Blocks.size(); j != e; ++j) - ContainingLoops[BlockLoop->Blocks[j]] = Child; - + MoveSiblingLoopInto(SubLoop, Child); --i; // We just shrunk the SubLoops list. } }