From 4e74541a928090b3604094e239884b0ea0a631bb Mon Sep 17 00:00:00 2001 From: Whitney Tsang Date: Fri, 29 May 2020 03:02:27 +0000 Subject: [PATCH] [LoopUnroll] Fix not-rotated.ll by adding back a limitation was unintentionally removed in https://reviews.llvm.org/D80477 --- llvm/lib/Transforms/Utils/LoopUnroll.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm/lib/Transforms/Utils/LoopUnroll.cpp b/llvm/lib/Transforms/Utils/LoopUnroll.cpp index 45256818..06e9f7f 100644 --- a/llvm/lib/Transforms/Utils/LoopUnroll.cpp +++ b/llvm/lib/Transforms/Utils/LoopUnroll.cpp @@ -326,6 +326,11 @@ LoopUnrollResult llvm::UnrollLoop(Loop *L, UnrollLoopOptions ULO, LoopInfo *LI, "branch in latch or a single exiting block.\n"); return LoopUnrollResult::Unmodified; } + if (LatchBI->isConditional() && LatchBI != ExitingBI) { + LLVM_DEBUG( + dbgs() << "Can't unroll; a conditional latch must exit the loop"); + return LoopUnrollResult::Unmodified; + } LLVM_DEBUG(dbgs() << " Exiting Block = " << ExitingBI->getParent()->getName() << "\n"); -- 2.7.4