[PATCH] D65464: [LoopFusion] Add ability to fuse guarded loops
Kit Barton via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 30 11:37:23 PDT 2019
kbarton created this revision.
kbarton added reviewers: jdoerfert, Meinersbur, dmgreen, etiotto, Whitney.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
This patch extends the current capabilities in loop fusion to fuse guarded loops
(as defined in https://reviews.llvm.org/D63885). The patch adds the necessary
safety checks to ensure that it safe to fuse the guarded loops (control flow
equivalent, no intervening code, and same guard conditions). It also provides an
alternative method to perform the actual fusion of guarded loops. The mechanics
to fuse guarded loops are slightly different then fusing non-guarded loops, so I
opted to keep them separate methods. I will be cleaning this up in later
patches, and hope to converge on a single method to fuse both guarded and
non-guarded loops, but for now I think the review will be easier to keep them
separate.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D65464
Files:
llvm/lib/Transforms/Scalar/LoopFuse.cpp
llvm/test/Transforms/LoopFusion/guarded.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65464.212397.patch
Type: text/x-patch
Size: 26922 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190730/4afd20b0/attachment.bin>
More information about the llvm-commits
mailing list