[mlir][Linalg] Add a Transform dialect NavigationOp op to match a list of ops or...
authorNicolas Vasilache <nicolas.vasilache@gmail.com>
Thu, 21 Jul 2022 13:44:43 +0000 (06:44 -0700)
committerNicolas Vasilache <nicolas.vasilache@gmail.com>
Thu, 21 Jul 2022 14:11:42 +0000 (07:11 -0700)
commit1f77f01c65040a342261389a41f622fce8458d89
tree96f155a0def99b72d8247b108c4c6b6a4c79f79e
parent4b9dbbdb09ca1a8823c3d0f19f07c0b70f18e6f1
[mlir][Linalg] Add a Transform dialect NavigationOp op to match a list of ops or an interface.

This operation is a NavigationOp that simplifies the writing of transform IR.
Since there is no way of refering to an interface by name, the current implementation uses
an EnumAttr and depends on the interfaces it supports.
In the future, it would be worthwhile to remove this dependence and generalize.

Differential Revision: https://reviews.llvm.org/D130267
24 files changed:
mlir/include/mlir/Dialect/Linalg/TransformOps/CMakeLists.txt
mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
mlir/test/Dialect/Linalg/promote.mlir
mlir/test/Dialect/Linalg/promotion_options.mlir
mlir/test/Dialect/Linalg/tile-to-foreach-thread.mlir
mlir/test/Dialect/Linalg/transform-op-decompose.mlir
mlir/test/Dialect/Linalg/transform-op-fuse.mlir
mlir/test/Dialect/Linalg/transform-op-generalize.mlir
mlir/test/Dialect/Linalg/transform-op-interchange.mlir
mlir/test/Dialect/Linalg/transform-op-multitile-sizes.mlir
mlir/test/Dialect/Linalg/transform-op-pad.mlir
mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
mlir/test/Dialect/Linalg/transform-op-split-reduction-by-scaling.mlir
mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
mlir/test/Dialect/Linalg/transform-op-split.mlir
mlir/test/Dialect/Linalg/transform-op-tile.mlir
mlir/test/Dialect/Linalg/transform-op-vectorize.mlir
mlir/test/Dialect/Linalg/transform-promotion.mlir
mlir/test/Dialect/SCF/transform-ops.mlir
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel