[all-commits] [llvm/llvm-project] cc6c15: [mlir] add VectorizeOp to structured transform ops
ftynse via All-commits
all-commits at lists.llvm.org
Mon May 30 08:38:07 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cc6c15920358a93185eced1d9dcec201815debf0
https://github.com/llvm/llvm-project/commit/cc6c15920358a93185eced1d9dcec201815debf0
Author: Alex Zinenko <zinenko at google.com>
Date: 2022-05-30 (Mon, 30 May 2022)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
A mlir/test/Dialect/Linalg/transform-op-vectorize.mlir
M mlir/test/Dialect/Transform/test-interpreter.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] add VectorizeOp to structured transform ops
Vectorization is a key transformation to achieve high performance on most
architectures. In the transform dialect, vectorization is implemented as a
parameterizable transform op. It currently applies to a scope of payload IR
delimited by some isolated-from-above op, mainly because several enabling
transformations (such as affine simplification) are needed to perform
vectorization and these transformation would apply to ops other than the "main"
computational payload op. A separate "navigation" transform op that obtains the
isolated-from-above ancestor of an op is introduced in the core transform
dialect. Even though it is currently only useful for vectorization,
isolated-from-above ops are a common anchor for transformations (usually
implemented as passes) that is likely to be reused in the future.
Depends On D126374
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D126542
Commit: 3f71765a71ca97433723b43c4f64931cace11ca1
https://github.com/llvm/llvm-project/commit/3f71765a71ca97433723b43c4f64931cace11ca1
Author: Alex Zinenko <zinenko at google.com>
Date: 2022-05-30 (Mon, 30 May 2022)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/LinalgStructuredTransformOps.td
A mlir/python/mlir/dialects/TransformOps.td
A mlir/python/mlir/dialects/_structured_transform_ops_ext.py
A mlir/python/mlir/dialects/_transform_ops_ext.py
A mlir/python/mlir/dialects/transform/__init__.py
A mlir/python/mlir/dialects/transform/structured.py
A mlir/test/python/dialects/transform.py
A mlir/test/python/dialects/transform_structured_ext.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir] provide Python bindings for the Transform dialect
Python bindings for extensions of the Transform dialect are defined in separate
Python source files that can be imported on-demand, i.e., that are not imported
with the "main" transform dialect. This requires a minor addition to the
ODS-based bindings generator. This approach is consistent with the current
model for downstream projects that are expected to bundle MLIR Python bindings:
such projects can include their custom extensions into the bundle similarly to
how they include their dialects.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D126208
Compare: https://github.com/llvm/llvm-project/compare/b2719349d2a6...3f71765a71ca
More information about the All-commits
mailing list