diff options
| author | Ivan Butygin <ivan.butygin@gmail.com> | 2025-04-22 16:18:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-22 17:18:54 +0300 |
| commit | e87aa0c6ab7b9d1abbf86e8df84053cd4de92656 (patch) | |
| tree | 5077a55894ebcbc2286f0ab5a74eccdb4914044c /mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp | |
| parent | d20604e5b6792bd010dd4dfd36f3e836ae0fe7b2 (diff) | |
[mlir][vector] Sink vector.extract/splat into load/store ops (#134389)
```
vector.load %arg0[%arg1] : memref<?xf32>, vector<4xf32>
vector.extract %0[1] : f32 from vector<4xf32>
```
Gets converted to:
```
%c1 = arith.constant 1 : index
%0 = arith.addi %arg1, %c1 overflow<nsw> : index
%1 = memref.load %arg0[%0] : memref<?xf32>
```
```
%0 = vector.splat %arg2 : vector<1xf32>
vector.store %0, %arg0[%arg1] : memref<?xf32>, vector<1xf32>
```
Gets converted to:
```
memref.store %arg2, %arg0[%arg1] : memref<?xf32>
```
Diffstat (limited to 'mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp')
| -rw-r--r-- | mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp b/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp index a54ae816570a..03f907e46c2c 100644 --- a/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp +++ b/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp @@ -395,6 +395,7 @@ struct TestVectorSinkPatterns void runOnOperation() override { RewritePatternSet patterns(&getContext()); populateSinkVectorOpsPatterns(patterns); + populateSinkVectorMemOpsPatterns(patterns); (void)applyPatternsGreedily(getOperation(), std::move(patterns)); } }; |
