[PATCH] D115238: [LoopInterchange] Remove a limitation in legality
Congzhe Cao via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 7 04:47:35 PST 2021
congzhe created this revision.
congzhe added reviewers: bmahjour, Whitney.
congzhe added projects: LLVM, LoopOptWG.
Herald added a subscriber: hiraditya.
congzhe requested review of this revision.
Herald added a subscriber: llvm-commits.
There was a limitation that in the inner loop latch, no instruction was allowed between induction variable increment and branch in the inner loop latch. This is because we used to split the inner latch at the induction variable increment instruction. Since now we have split at the inner latch branch instruction and have moved instructions properly, we remove this limitation.
As an example, please refer to interchange_10() for the interchanged loop generated after loop interchange.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D115238
Files:
llvm/lib/Transforms/Scalar/LoopInterchange.cpp
llvm/test/Transforms/LoopInterchange/currentLimitation.ll
llvm/test/Transforms/LoopInterchange/interchangeable.ll
llvm/test/Transforms/LoopInterchange/loop-interchange-optimization-remarks.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115238.392355.patch
Type: text/x-patch
Size: 7829 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211207/737f0556/attachment.bin>
More information about the llvm-commits
mailing list