[PATCH] D55851: Implement basic loop fusion pass
Kit Barton via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 1 10:02:32 PST 2019
kbarton updated this revision to Diff 188928.
kbarton added a comment.
Addressed most of the review comments.
I think there are still two outstanding issues to resolve before committing this patch:
1. The current constructors for FusionCandidates - whether to leave them as is or whether to reimplement using a createFusionCandidate wrapper that removes most of the logic from the constructor.
2. New safety check that I added, to detect cross-loop dependencies that were previously missed. The new check is around line 918 of LoopFuse.cpp (inside dependencesAllowFusion method).
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55851/new/
https://reviews.llvm.org/D55851
Files:
llvm/include/llvm/InitializePasses.h
llvm/include/llvm/Transforms/Scalar.h
llvm/include/llvm/Transforms/Scalar/LoopFuse.h
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Passes/PassRegistry.def
llvm/lib/Transforms/Scalar/CMakeLists.txt
llvm/lib/Transforms/Scalar/LoopFuse.cpp
llvm/lib/Transforms/Scalar/Scalar.cpp
llvm/test/Transforms/LoopFusion/cannot_fuse.ll
llvm/test/Transforms/LoopFusion/four_loops.ll
llvm/test/Transforms/LoopFusion/inner_loops.ll
llvm/test/Transforms/LoopFusion/loop_nest.ll
llvm/test/Transforms/LoopFusion/simple.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55851.188928.patch
Type: text/x-patch
Size: 91688 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190301/0139ca0a/attachment-0001.bin>
More information about the llvm-commits
mailing list