[Mlir-commits] [mlir] [mlir][vector] Sink vector.extract/splat into load/store ops (PR #134389)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Tue Apr 22 05:35:29 PDT 2025
================
@@ -469,8 +469,29 @@ def ApplySinkVectorPatternsOp : Op<Transform_Dialect,
%0 = arith.addf %a, %b : vector<4x2xf32>
%r = vector.transpose %0, [1, 0] : vector<2x4xf32>
```
- At the moment, these patterns are limited to vector.broadcast and
- vector.transpose.
+ At the moment, these patterns are limited to vector.broadcast,
+ vector.transpose and vector.extract.
+ }];
+
+ let assemblyFormat = "attr-dict";
+}
+
+def ApplySinkVectorMemPatternsOp : Op<Transform_Dialect,
+ "apply_patterns.vector.sink_mem_ops",
+ [DeclareOpInterfaceMethods<PatternDescriptorOpInterface>]> {
+ let description = [{
+ Patterns that remove redundant Vector Ops by merging them with load/store
----------------
banach-space wrote:
[nit] `StoreOpFromSplatOrBroadcast` will replace `vector.store` with either `vector.store` or `memref.store`. Perhaps update to:
> Patterns that replace redundant Vector Ops (followed by vector.load/vector.store) with either vector.load/vector.store or memref.load/memref.store. Currently limited to 1-element vectors.
https://github.com/llvm/llvm-project/pull/134389
More information about the Mlir-commits
mailing list