[mlir][AffineOps] Adds affine loop fusion transformation function to LoopFusionUtils.
authorAndy Davis <andydavis@google.com>
Tue, 11 Feb 2020 21:30:49 +0000 (13:30 -0800)
committerAndy Davis <andydavis@google.com>
Tue, 11 Feb 2020 21:56:26 +0000 (13:56 -0800)
commit40b2eb353043f4e526575a61b0a90fe06e938db1
treedeedad1c3d49f720d553a8f1ca218f9d99372101
parent20a604d3f5bc8cdba161e7e12f12f3f5260aad57
[mlir][AffineOps] Adds affine loop fusion transformation function to LoopFusionUtils.

Summary:
Adds affine loop fusion transformation function to LoopFusionUtils.
Updates TestLoopFusion utility to run loop fusion transformation until a fixed point is reached.
Adds unit tests to test the transformation.
Includes ASAN bug fix for D73190.

Reviewers: bondhugula, dcaballe

Reviewed By: bondhugula, dcaballe

Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74330
mlir/include/mlir/Transforms/LoopFusionUtils.h
mlir/lib/Transforms/Utils/LoopFusionUtils.cpp
mlir/test/Transforms/loop-fusion-transformation.mlir [new file with mode: 0644]
mlir/test/lib/Transforms/TestLoopFusion.cpp