[LoopUnroll] Fix build failure for allyesconfig.
authorWhitney Tsang <whitneyt@ca.ibm.com>
Sat, 30 May 2020 18:20:23 +0000 (18:20 +0000)
committerWhitney Tsang <whitneyt@ca.ibm.com>
Sat, 30 May 2020 18:32:47 +0000 (18:32 +0000)
Differential Revision: https://reviews.llvm.org/D80477.

llvm/lib/Transforms/Utils/LoopUnroll.cpp

index 06e9f7f..861fc7d 100644 (file)
@@ -818,10 +818,10 @@ LoopUnrollResult llvm::UnrollLoop(Loop *L, UnrollLoopOptions ULO, LoopInfo *LI,
         // For loops exiting from non latch exiting block, we limit the
         // supported loops to have a single exiting block.
         NewIDom = TermBlocks.back();
-        for (BasicBlock *Iter : TermBlocks) {
-          Instruction *Term = Iter->getTerminator();
+        for (unsigned i = 0, e = TermBlocks.size(); i != e; ++i) {
+          Instruction *Term = TermBlocks[i]->getTerminator();
           if (isa<BranchInst>(Term) && cast<BranchInst>(Term)->isConditional()) {
-            NewIDom = Iter;
+            NewIDom = DT->findNearestCommonDominator(TermBlocks[i], Latches[i]);
             break;
           }
         }