[Mlir-commits] [mlir] [mlir][vector] Populate sink patterns in apply_patterns.vector.reduction_to_contract (PR #104754)
Benjamin Maxwell
llvmlistbot at llvm.org
Mon Aug 19 03:09:37 PDT 2024
https://github.com/MacDue created https://github.com/llvm/llvm-project/pull/104754
This restores the functionality to before: https://github.com/llvm/llvm-project/commit/42944da5ba7617bbc02f341e9ef401c325310a73
This fixes a buildbot failure: https://lab.llvm.org/buildbot/#/builders/143/builds/1486
>From f9fee40dfd2d5b796a46d7a08570a6b0dc34f824 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: Mon, 19 Aug 2024 10:04:17 +0000
Subject: [PATCH] [mlir][vector] Populate sink patterns in
apply_patterns.vector.reduction_to_contract
This restores the functionality to before: https://github.com/llvm/llvm-project/commit/42944da5ba7617bbc02f341e9ef401c325310a73
This fixes a buildbot failure: https://lab.llvm.org/buildbot/#/builders/143/builds/1486
---
.../mlir/Dialect/Vector/TransformOps/VectorTransformOps.td | 5 +++--
mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td b/mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
index 820a18731ffdb0..aad2eab83dbd38 100644
--- a/mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
+++ b/mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
@@ -410,7 +410,7 @@ def ApplyFoldElementwiseToVectorPatternsOp : Op<Transform_Dialect,
"apply_patterns.vector.elementwise_to_vector",
[DeclareOpInterfaceMethods<PatternDescriptorOpInterface>]> {
let description = [{
- Collect a set of patterns that fold elementwise op on vectors to the vector
+ Collect a set of patterns that fold elementwise op on vectors to the vector
dialect.
}];
@@ -426,8 +426,9 @@ def ApplyVectorReductionToContractPatternsOp : Op<Transform_Dialect,
- CombineContractBroadcast
- CombineContractABTranspose
- CombineContractResultTranspose
- - ReorderCastOpsOnBroadcast
- ReorderElementwiseOpsOnTranspose
+ - ReorderElementwiseOpsOnBroadcast
+ - ReorderCastOpsOnBroadcast
These patterns have the effect of rewriting a vector.multi_reduce into a
vector.contract.
diff --git a/mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp b/mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
index bc423a3781bf04..3ae70ace3934cd 100644
--- a/mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
+++ b/mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
@@ -67,6 +67,7 @@ void transform::ApplyFoldElementwiseToVectorPatternsOp::populatePatterns(
void transform::ApplyVectorReductionToContractPatternsOp::populatePatterns(
RewritePatternSet &patterns) {
vector::populateVectorReductionToContractPatterns(patterns);
+ vector::populateSinkVectorOpsPatterns(patterns);
}
void transform::ApplyLowerCreateMaskPatternsOp::populatePatterns(
More information about the Mlir-commits
mailing list