[Mlir-commits] [mlir] [mlir][vector] Remove MatrixMultiplyOp and FlatTransposeOp from Vector dialect (PR #144307)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Wed Jul 16 03:31:40 PDT 2025
================
@@ -70,10 +70,17 @@ void ConvertVectorToLLVMPass::runOnOperation() {
populateVectorBitCastLoweringPatterns(patterns);
populateVectorBroadcastLoweringPatterns(patterns);
populateVectorContractLoweringPatterns(patterns, vectorContractLowering);
+ if (vectorContractLowering == vector::VectorContractLowering::Matmul) {
+ populateVectorContractToMatrixMultiply(patterns);
+ }
populateVectorMaskOpLoweringPatterns(patterns);
populateVectorShapeCastLoweringPatterns(patterns);
populateVectorInterleaveLoweringPatterns(patterns);
populateVectorTransposeLoweringPatterns(patterns, vectorTransposeLowering);
+ if (vectorTransposeLowering == vector::VectorTransposeLowering::Flat) {
+ populateVectorTransposeToFlatTranspose(patterns);
+ }
+ populateVectorTransposeLoweringPatterns(patterns, vectorTransposeLowering);
----------------
banach-space wrote:
[populateVectorContractLoweringPatterns](https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/Vector/Transforms/LowerVectorContract.cpp#L1381) (and the patterns that it encapsulates) "live" inside the Vector dialect. We don't want `Vector` to depend on LLVM, hence the separation.
I will add a comment that explains this. Thanks for bringing it up!
https://github.com/llvm/llvm-project/pull/144307
More information about the Mlir-commits
mailing list