The sibling fusion profitability checks shouldn't rely on the presence
of a store op in the sibling. The reuse is between the loads.
Fixes issues raised at https://discourse.llvm.org/t/understanding-the-affine-loop-fusion-pass/69452
Paths
| Differential D146763
[MLIR][Affine] Fix/improve affine sibling fusion ClosedPublic Authored by bondhugula on Mar 23 2023, 3:15 PM.
Details Summary The sibling fusion profitability checks shouldn't rely on the presence Fixes issues raised at https://discourse.llvm.org/t/understanding-the-affine-loop-fusion-pass/69452
Diff Detail
Event Timeline
Comment Actions it makes sense. I think sibling fusion fell behind when I generalized producer-consumer fusion as I didn't look too much into it at that time. This revision is now accepted and ready to land.Mar 24 2023, 9:29 AM
This revision was landed with ongoing or failed builds.Mar 25 2023, 3:26 PM Closed by commit rG721defb4b92b: [MLIR][Affine] Fix/improve affine sibling fusion (authored by bondhugula). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 508347 mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
mlir/test/Transforms/loop-fusion-2.mlir
mlir/test/Transforms/loop-fusion-4.mlir
mlir/test/Transforms/loop-fusion.mlir
|
@dcaballe @andydavis1 This check can be completely removed. The single store was being used in the profitability check and it wasn't needed/correct to do that.