[all-commits] [llvm/llvm-project] 2fe4d9: [mlir] make structured transform ops use types

ftynse via All-commits all-commits at lists.llvm.org
Tue May 16 01:17:15 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2fe4d90cac54bf35948bea2ca6d5d8c510f6a1b4
      https://github.com/llvm/llvm-project/commit/2fe4d90cac54bf35948bea2ca6d5d8c510f6a1b4
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2023-05-16 (Tue, 16 May 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    A mlir/include/mlir/Dialect/Linalg/TransformOps/Syntax.h
    M mlir/include/mlir/Dialect/Transform/Utils/Utils.h
    M mlir/include/mlir/Interfaces/ViewLikeInterface.h
    M mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/TransformOps/DialectExtension.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    A mlir/lib/Dialect/Linalg/TransformOps/Syntax.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/Transform/Utils/Utils.cpp
    M mlir/lib/Interfaces/ViewLikeInterface.cpp
    M mlir/test/Dialect/GPU/transform-gpu-failing.mlir
    M mlir/test/Dialect/LLVM/transform-e2e.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
    M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
    M mlir/test/Dialect/Linalg/promote.mlir
    M mlir/test/Dialect/Linalg/promotion_options.mlir
    M mlir/test/Dialect/Linalg/tile-to-foreach-thread.mlir
    M mlir/test/Dialect/Linalg/transform-op-decompose.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-generalize.mlir
    M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
    M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
    M mlir/test/Dialect/Linalg/transform-op-interchange.mlir
    M mlir/test/Dialect/Linalg/transform-op-matmul-to-outerproduct.mlir
    M mlir/test/Dialect/Linalg/transform-op-pack.mlir
    M mlir/test/Dialect/Linalg/transform-op-pad.mlir
    M mlir/test/Dialect/Linalg/transform-op-replace.mlir
    M mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction-by-scaling.mlir
    M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
    M mlir/test/Dialect/Linalg/transform-op-tile.mlir
    M mlir/test/Dialect/Linalg/transform-op-vectorize.mlir
    M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
    M mlir/test/Dialect/Linalg/transform-ops.mlir
    M mlir/test/Dialect/Linalg/transform-patterns.mlir
    M mlir/test/Dialect/Linalg/transform-promotion.mlir
    M mlir/test/Dialect/Linalg/transform-tile-and-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/SCF/transform-op-take-assumed-branch.mlir
    M mlir/test/Dialect/Tensor/tiling.mlir
    M mlir/test/Dialect/Transform/selective-targeting.mlir
    M mlir/test/Dialect/Vector/transform-vector.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] make structured transform ops use types

Types have been introduced a while ago and provide for better
readability and transform-time verification. Use them in the ops from
the structured transform dialect extension.

In most cases, the types are appended as trailing functional types or a
derived format of the functional type that allows for an empty right
hand size without the annoying `-> ()` syntax (similarly to `func.func`
declaration that may omit the arrow). When handles are used inside mixed
static/dynamic lists, such as tile sizes, types of those handles follow
them immediately as in `sizes [%0 : !transform.any_value, 42]`. This
allows for better readability than matching the trailing type.

Update code to remove hardcoded PDL dependencies and expunge PDL from
structured transform op code.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D144515


  Commit: f52b6381be19696012f861914fc5e988c6f3ca88
      https://github.com/llvm/llvm-project/commit/f52b6381be19696012f861914fc5e988c6f3ca88
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2023-05-16 (Tue, 16 May 2023)

  Changed paths:
    M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
    M mlir/test/Dialect/Linalg/hoisting.mlir
    M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
    M mlir/test/Dialect/Linalg/tile-conv.mlir
    M mlir/test/Dialect/Linalg/tile-indexed.mlir
    M mlir/test/Dialect/Linalg/tile-tensors.mlir
    M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
    M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
    M mlir/test/Dialect/Linalg/transform-op-match.mlir
    M mlir/test/Dialect/Linalg/transform-op-multitile-sizes.mlir
    M mlir/test/Dialect/Linalg/transform-op-rewrite-in-destination-passing-style.mlir
    M mlir/test/Dialect/Linalg/transform-op-split.mlir
    M mlir/test/Dialect/Linalg/transform-op-tile.mlir
    M mlir/test/Dialect/Linalg/transform-pack-greedily.mlir
    M mlir/test/Dialect/Linalg/transform-tile-and-fuse.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td

  Log Message:
  -----------
  [mlir] update types in remaining Linalg TransformOps test

All ops now support explicit type specification, update types to use
`!transform.any_op` instead of `!pdl.operation` for consistency.

Depends On D144515

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D150592


Compare: https://github.com/llvm/llvm-project/compare/af0121fb8f79...f52b6381be19


More information about the All-commits mailing list