[Mlir-commits] [mlir] [mlir][vector] add ApplyReorderMultiReductionDimsPatternsOp tests (PR #180977)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Fri Feb 13 00:31:51 PST 2026
================
@@ -0,0 +1,112 @@
+// RUN: mlir-opt %s --transform-interpreter='entry-point=innerreduction' | FileCheck %s --check-prefix=INNER_REDUCTION,ALL
+// RUN: mlir-opt %s --transform-interpreter='entry-point=innerparallel' | FileCheck %s --check-prefix=INNER_PARALLEL,ALL
+
+// INNER_REDUCTION-LABEL: func @inner_reduction_to_inner_parallel
+// INNER_REDUCTION-SAME: %[[INPUT:.+]]: vector<3x2x4xf32>
+// INNER_REDUCTION-SAME: %[[ACC:.+]]: vector<2x4xf32>
+func.func @inner_reduction_to_inner_parallel(%arg0: vector<3x2x4xf32>, %acc: vector<2x4xf32>) -> vector<2x4xf32> {
+ // INNER_REDUCTION: %[[TRANSPOSED:.+]] = vector.transpose %[[INPUT]], [1, 2, 0]
+ // INNER_REDUCTION: %[[RESULT:.+]] = vector.multi_reduction <mul>, %[[TRANSPOSED]], %[[ACC]] [2]
+ %0 = vector.multi_reduction <mul>, %arg0, %acc [0] : vector<3x2x4xf32> to vector<2x4xf32>
+ // INNER_REDUCTION: return %[[RESULT]]
+ return %0 : vector<2x4xf32>
----------------
banach-space wrote:
[nit] Splitting `CHECK` lines like this can get messy when testing larger files.
```suggestion
// INNER_REDUCTION: %[[TRANSPOSED:.+]] = vector.transpose %[[INPUT]], [1, 2, 0]
// INNER_REDUCTION: %[[RESULT:.+]] = vector.multi_reduction <mul>, %[[TRANSPOSED]], %[[ACC]] [2]
// INNER_REDUCTION: return %[[RESULT]]
%0 = vector.multi_reduction <mul>, %arg0, %acc [0] : vector<3x2x4xf32> to vector<2x4xf32>
return %0 : vector<2x4xf32>
```
https://github.com/llvm/llvm-project/pull/180977
More information about the Mlir-commits
mailing list