diff --git a/lib/Transforms/Scalar/LoopIndexSplit.cpp b/lib/Transforms/Scalar/LoopIndexSplit.cpp index 23ffc3a4d25..1eeb9be6a13 100644 --- a/lib/Transforms/Scalar/LoopIndexSplit.cpp +++ b/lib/Transforms/Scalar/LoopIndexSplit.cpp @@ -903,7 +903,7 @@ bool LoopIndexSplit::splitLoop(SplitInfo &SD) { A_ActiveBranch = A_BR->getSuccessor(1); A_InactiveBranch = A_BR->getSuccessor(0); } - A_BR->setUnconditionalDest(A_BR->getSuccessor(0)); + A_BR->setUnconditionalDest(A_ActiveBranch); removeBlocks(A_InactiveBranch, L, A_ActiveBranch); //[*] Eliminate split condition's inactive branch in from BLoop. @@ -918,7 +918,7 @@ bool LoopIndexSplit::splitLoop(SplitInfo &SD) { B_ActiveBranch = B_BR->getSuccessor(0); B_InactiveBranch = B_BR->getSuccessor(1); } - B_BR->setUnconditionalDest(B_BR->getSuccessor(1)); + B_BR->setUnconditionalDest(B_ActiveBranch); removeBlocks(B_InactiveBranch, BLoop, B_ActiveBranch); return true;