[all-commits] [llvm/llvm-project] 004a3d: [mlir][Linalg] Refactor linalg tiling
Nicolas Vasilache via All-commits
all-commits at lists.llvm.org
Wed May 20 06:42:22 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 004a3d4f56c26a30d2a65818e2bfc03b74ec8123
https://github.com/llvm/llvm-project/commit/004a3d4f56c26a30d2a65818e2bfc03b74ec8123
Author: Nicolas Vasilache <ntv at google.com>
Date: 2020-05-20 (Wed, 20 May 2020)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/EDSC/Builders.cpp
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/tile.mlir
M mlir/test/Dialect/Linalg/tile_conv.mlir
M mlir/test/Dialect/Linalg/tile_conv_padding.mlir
M mlir/test/Dialect/Linalg/tile_indexed_generic.mlir
M mlir/test/Dialect/Linalg/tile_parallel.mlir
M mlir/test/lib/Transforms/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][Linalg] Refactor linalg tiling
Summary:
This revision refactors the Linalg tiling pass to be written as pattern applications and retires the use of the folder in Linalg tiling.
In the early days, tiling was written as a pass that would create (partially) folded and canonicalized operations on the fly for better composability.
As this evolves towards composition of patterns, the pass-specific folder is counter-productive and is retired.
The tiling options struct evolves to take a tile size creation function which allows materializing tile sizes on the fly (in particular constant tile sizes). This plays better with folding and DCE.
With the folder going away in Tiling, the check on whether subviews are the same in linalg fusion needs to be more robust. This revision also implements such a check.
In the current form, there are still some canonicalizations missing due to AffineMin/Max ops fed by scf::ForOp. These will be improved at a later time.
Differential Revision: https://reviews.llvm.org/D80267
More information about the All-commits
mailing list