[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