[mlir][vector] Separate out vector transfer + tensor slice patterns
authorLei Zhang <antiagainst@google.com>
Wed, 17 May 2023 15:57:13 +0000 (08:57 -0700)
committerLei Zhang <antiagainst@google.com>
Wed, 17 May 2023 16:01:19 +0000 (09:01 -0700)
commite000b62a342cac907fd77cfdd070f0b055f0c3c4
tree45564fc0513335d152027662e842538b271157a3
parent4eab303404d6bb2252b4baf807c5ac87a0fa3125
[mlir][vector] Separate out vector transfer + tensor slice patterns

These patterns touches the structure generated from tiling so it
affects later steps like bufferization and vector hoisting.
Instead of putting them in canonicalization, this commit creates
separate entry points for them to be called explicitly.

This is NFC regarding the functionality and tests of those patterns.
It also addresses two TODO items in the codebase.

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D150702
mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
mlir/lib/Dialect/Vector/IR/VectorOps.cpp
mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
mlir/lib/Dialect/Vector/Transforms/VectorTransferTensorSliceTransforms.cpp [new file with mode: 0644]
mlir/test/Dialect/Vector/canonicalize.mlir
mlir/test/Dialect/Vector/vector-transfer-tensor-slice-transforms.mlir [new file with mode: 0644]
mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp