[all-commits] [llvm/llvm-project] eaf159: [mlir][ArmSME] Add support for vector.transpose (#...
Cullen Rhodes via All-commits
all-commits at lists.llvm.org
Mon Sep 25 04:15:25 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: eaf15900ff5b4c103b52acf7327e6e6f7e8b2ebe
https://github.com/llvm/llvm-project/commit/eaf15900ff5b4c103b52acf7327e6e6f7e8b2ebe
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2023-09-25 (Mon, 25 Sep 2023)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSME.td
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Dialect/ArmSME/IR/ArmSME.cpp
M mlir/lib/Dialect/ArmSME/IR/CMakeLists.txt
M mlir/test/Dialect/ArmSME/vector-ops-to-sme.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
Log Message:
-----------
[mlir][ArmSME] Add support for vector.transpose (#66760)
This patch adds support for lowering vector.transpose to ArmSME. It's
implemented by storing the input tile of the tranpose to memory and
reloading vertically, building on top of the tile slice layout support.
Tranposing via memory is obviously expensive, the current intention is
to avoid the transpose if possible, this is therefore intended as a
fallback and to provide base support for Vector ops. If it turns out
transposes can't be avoided then this should be replaced with a more
optimal implementation, perhaps with tile <-> vector (MOVA) ops.
Depends on https://github.com/llvm/llvm-project/pull/66758.
More information about the All-commits
mailing list