[all-commits] [llvm/llvm-project] 3963b4: [mlir] Transform op for multitile size generation
ftynse via All-commits
all-commits at lists.llvm.org
Tue Jul 12 05:36:48 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3963b4d0dc5bf2bb92eedbab91e2c11653cd8f4e
https://github.com/llvm/llvm-project/commit/3963b4d0dc5bf2bb92eedbab91e2c11653cd8f4e
Author: Alex Zinenko <zinenko at google.com>
Date: 2022-07-12 (Tue, 12 Jul 2022)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/python/mlir/dialects/_structured_transform_ops_ext.py
A mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
A mlir/test/Dialect/Linalg/transform-op-multitile-sizes.mlir
M mlir/test/python/dialects/transform_structured_ext.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] Transform op for multitile size generation
Introduce a structured transform op that emits IR computing the multi-tile
sizes with requested parameters (target size and divisor) for the given
structured op. The sizes may fold to arithmetic constant operations when the
shape is constant. These operations may then be used to call the existing
tiling transformation with a single non-zero dynamic size (i.e. perform
strip-mining) for each of the dimensions separately, thus achieving multi-size
tiling with optional loop interchange. A separate test exercises the entire
script.
Depends On D129217
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D129287
Commit: e15b855e096eb13d4f40a3acd65061e964c5a555
https://github.com/llvm/llvm-project/commit/e15b855e096eb13d4f40a3acd65061e964c5a555
Author: Alex Zinenko <zinenko at google.com>
Date: 2022-07-12 (Tue, 12 Jul 2022)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
Log Message:
-----------
[mlir] Use semantically readable functions for transform op effects
A recent commit introduced helper functions with semantically meaningful names
to populate the lists of memory effects in transform ops, use them whenever
possible.
Depends On D129287
Reviewed By: springerm
Differential Revision: https://reviews.llvm.org/D129365
Commit: 81b62f7feb5de2fb37261974ffa0b2a43a2d83ee
https://github.com/llvm/llvm-project/commit/81b62f7feb5de2fb37261974ffa0b2a43a2d83ee
Author: Alex Zinenko <zinenko at google.com>
Date: 2022-07-12 (Tue, 12 Jul 2022)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
Log Message:
-----------
[mlir] Handle linalg.index correctly in TilingInterface
The existing implementation of the TilingInterface for Linalg ops was not
modifying the `linalg.index` ops contained within other Linalg ops (they need
to be summed up with the values of respective tile loop induction variables),
which led to the interface-based tiling being incorrect for any Linalg op with
index semantics.
In the process, fix the function performing the index offsetting to use the
pattern rewriter API instead of RAUW as it is being called from patterns and
may mess up the internal state of the rewriter. Also rename the function to
clearly catch all uses.
Depends On D129365
Reviewed By: mravishankar
Differential Revision: https://reviews.llvm.org/D129366
Compare: https://github.com/llvm/llvm-project/compare/cc309721d20c...81b62f7feb5d
More information about the All-commits
mailing list