[PATCH] D95806: [LoopUnrollAndJam] Check if the loops have an Exit Block
Sidharth Baveja via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 1 11:14:05 PST 2021
sidbav created this revision.
sidbav added reviewers: Whitney, bmahjour, etiotto, Meinersbur, dmgreen.
Herald added subscribers: zzheng, hiraditya.
sidbav requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
This resolves an issue posted on Bugzilla. https://bugs.llvm.org/show_bug.cgi?id=48764
This issue took place because loops which did not have an exit block were allowed to unrolled and jam.
This patch ensures that loops which only have an exit block will be allowed to be unrolled and jammed.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D95806
Files:
llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Index: llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
===================================================================
--- llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
+++ llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
@@ -831,6 +831,13 @@
if (SubLoopsSize != 1)
return false;
+ // If the Loop does not have an exit block, cannot perform unroll and jam
+ if (!L->getExitBlock()) {
+ LLVM_DEBUG(dbgs() << "Won't unroll-and-jam; Loop does not have an exit "
+ "block\n");
+ return false;
+ }
+
L = L->getSubLoops()[0];
} while (L);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95806.320530.patch
Type: text/x-patch
Size: 604 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210201/f148a4f8/attachment.bin>
More information about the llvm-commits
mailing list