diff options
author | Andrzej Warzyński <andrzej.warzynski@arm.com> | 2025-07-21 08:19:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-21 08:19:30 +0100 |
commit | 03bd0f36ba1c35c9dfbdc3d021e73940a18a6cf9 (patch) | |
tree | 40a93ee2e386bd8d9c4d38bcc4d500cf8739fb84 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | b832c49cb4d7668e6ab49c984ba3f4c56356f023 (diff) | |
download | llvm-03bd0f36ba1c35c9dfbdc3d021e73940a18a6cf9.zip llvm-03bd0f36ba1c35c9dfbdc3d021e73940a18a6cf9.tar.gz llvm-03bd0f36ba1c35c9dfbdc3d021e73940a18a6cf9.tar.bz2 |
[mlir][vector] Remove MatrixMultiplyOp and FlatTransposeOp from Vector dialect (#144307)
This patch deletes `vector.matrix_multiply` and `vector.flat_transpose`,
which are thin wrappers around the corresponding LLVM intrinsics:
- `llvm.intr.matrix.multiply`
- `llvm.intr.matrix.transpose`
These Vector dialect ops did not provide additional semantics or
abstraction beyond the LLVM intrinsics. Their removal simplifies the
lowering pipeline without losing any functionality.
The lowering chains:
- `vector.contract` → `vector.matrix_multiply` →
`llvm.intr.matrix.multiply`
- `vector.transpose` → `vector.flat_transpose` →
`llvm.intr.matrix.transpose`
are now replaced with:
- `vector.contract` → `llvm.intr.matrix.multiply`
- `vector.transpose` → `llvm.intr.matrix.transpose`
This was accomplished by directly replacing:
- `vector::MatrixMultiplyOp` with `LLVM::MatrixMultiplyOp`
- `vector::FlatTransposeOp` with `LLVM::MatrixTransposeOp`
Note: To avoid a build-time dependency from `Vector` to `LLVM`,
relevant transformations are moved from "Vector/Transforms" to
`Conversion/VectorToLLVM`.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions