[all-commits] [llvm/llvm-project] 5e4eec: [mlir] ODS: emit interface model method at the end...

Diego Caballero via All-commits all-commits at lists.llvm.org
Thu Oct 27 15:56:21 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5e4eec98d3f1cc4c33ba0f8d1c86e9f427695868
      https://github.com/llvm/llvm-project/commit/5e4eec98d3f1cc4c33ba0f8d1c86e9f427695868
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M mlir/test/mlir-tblgen/op-interface.td
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp

  Log Message:
  -----------
  [mlir] ODS: emit interface model method at the end of the header

Previously, ODS interface generator was placing implementations of the
interface's internal "Model" class template immediately after the class
definitions in the header. This doesn't allow this implementation, and
consequently the interface itself, to return an instance of another
interface if its class definition is emitted below. This creates
undesired ordering effects and makes it impossible for two or more
interfaces to return instances of each other. Change the interface
generator to place the implementations of these methods after all
interface classes.

Reviewed By: dcaballe

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


  Commit: b1bc1a1ed6c906cbd31d6b7a9ffbd696306f86b0
      https://github.com/llvm/llvm-project/commit/b1bc1a1ed6c906cbd31d6b7a9ffbd696306f86b0
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/Vector/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.h
    A mlir/include/mlir/Dialect/Vector/Interfaces/MaskableOpInterface.td
    R mlir/include/mlir/Dialect/Vector/Interfaces/MaskingInterfaces.h
    R mlir/include/mlir/Dialect/Vector/Interfaces/MaskingInterfaces.td
    A mlir/include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.h
    A mlir/include/mlir/Dialect/Vector/Interfaces/MaskingOpInterface.td
    M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
    M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
    M mlir/lib/Dialect/Vector/Interfaces/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Interfaces/MaskableOpInterface.cpp
    R mlir/lib/Dialect/Vector/Interfaces/MaskingInterfaces.cpp
    A mlir/lib/Dialect/Vector/Interfaces/MaskingOpInterface.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][Vector] Introduce the MaskingOpInterface

This MaskingOpInterface provides masking cababilitites to those
operations that implement it. For only is only implemented by the `vector.mask`
operation and it's used to break the dependency between the Vector
dialect (where the `vector.mask` op lives) and operations implementing
the MaskableOpInterface.

Reviewed By: nicolasvasilache

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


  Commit: c3e09036e84a71f21672ae5ed4540edd5444cf94
      https://github.com/llvm/llvm-project/commit/c3e09036e84a71f21672ae5ed4540edd5444cf94
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2022-10-27 (Thu, 27 Oct 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/Passes.h
    M mlir/include/mlir/Dialect/Vector/Transforms/Passes.td
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
    A mlir/test/Dialect/Vector/lower-vector-mask.mlir

  Log Message:
  -----------
  [mlir][Vector] Introduce the `vector.mask` operation lowering

This patch introduces the lowering for xfer ops masked with `vector.mask`.
Vector reductions are not lowered yet because new LLVM intrinsics are needed
in the LLVM dialect.

Reviewed By: nicolasvasilache

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


Compare: https://github.com/llvm/llvm-project/compare/01636fb0aef0...c3e09036e84a


More information about the All-commits mailing list