[all-commits] [llvm/llvm-project] 3fe712: [mlir] add structured (Linalg) transform op matchers

ftynse via All-commits all-commits at lists.llvm.org
Thu Apr 13 05:38:08 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3fe7127d48fde531901c795826b566d93dbf1ea4
      https://github.com/llvm/llvm-project/commit/3fe7127d48fde531901c795826b566d93dbf1ea4
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2023-04-13 (Thu, 13 Apr 2023)

  Changed paths:
    M mlir/docs/Dialects/Transform.md
    M mlir/include/mlir/Dialect/Linalg/TransformOps/CMakeLists.txt
    A mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgMatchOps.td
    A mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/MatchInterfaces.td
    A mlir/include/mlir/Dialect/Transform/IR/TransformAttrs.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformAttrs.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/include/mlir/Dialect/Transform/IR/TransformTypes.td
    M mlir/lib/Dialect/Linalg/TransformOps/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    A mlir/lib/Dialect/Transform/IR/TransformAttrs.cpp
    M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    A mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    A mlir/test/Dialect/Linalg/match-ops-invalid.mlir
    A mlir/test/Dialect/Linalg/match-ops.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir] add structured (Linalg) transform op matchers

Add a set of transform operations into the "structured" extension of the
Transform dialect that allow one to select transformation targets more
specifically than the currently available matching. In particular, add
the mechanism for identifying the producers of operands (input and init
in destination-passing style) and users of results, as well as
mechanisms for reasoning about the shape of the iteration space.

Additionally, add several transform operations to manipulate parameters
that could be useful to implement more advanced selectors. Specifically,
new operations let one produce and compare parameter values to implement
shape-driven transformations.

New operations are placed in separate files to decrease compilation
time. Some relayering of the extension is necessary to avoid repeated
generation of enums.

Depends on D148013
Depends on D148014
Depends on D148015

Reviewed By: chelini

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




More information about the All-commits mailing list