[all-commits] [llvm/llvm-project] 6ff976: [mlir][ArmSME] Add custom get_tile_id and cast ops
Cullen Rhodes via All-commits
all-commits at lists.llvm.org
Tue Jul 18 00:42:17 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 6ff9761a69df24d33f7c1047a956911bf28a754b
https://github.com/llvm/llvm-project/commit/6ff9761a69df24d33f7c1047a956911bf28a754b
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2023-07-18 (Tue, 18 Jul 2023)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.td
M mlir/include/mlir/IR/OpBase.td
M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
M mlir/lib/Dialect/ArmSME/Transforms/LegalizeForLLVMExport.cpp
A mlir/test/Dialect/ArmSME/canonicalize.mlir
A mlir/test/Dialect/ArmSME/invalid.mlir
A mlir/test/Dialect/ArmSME/roundtrip.mlir
Log Message:
-----------
[mlir][ArmSME] Add custom get_tile_id and cast ops
This patch adds three new custom ops to the ArmSME dialect:
* arm_sme.get_tile_id - returns a scalar integer representing an SME
"virtual tile" that is not in use.
* arm_sme.cast_tile_to_vector - casts from a tile id to a 2-d scalable
vector type, which represents an SME "virtual tile".
* arm_sme.cast_vector_to_tile - casts from a 2-d scalable vector type,
which represents an SME "virtual tile", to a tile id.
The 'arm_sme.get_tile_id' op currently only supports tile 0, a follow-up
patch will implement proper tile allocation. A further follow-up patch
will demonstrate load/store to/from ZA using these ops.
See the op descriptions for further details and examples.
Thanks to @paulwalker-arm and @awarzynski for helping drive this.
Reviewed By: awarzynski, dcaballe
Differential Revision: https://reviews.llvm.org/D154941
More information about the All-commits
mailing list