[mlir][vector] Fix lowering of permutation maps for transfer_write op
authorThomas Raoux <thomasraoux@google.com>
Sun, 15 Jan 2023 07:25:00 +0000 (07:25 +0000)
committerThomas Raoux <thomasraoux@google.com>
Tue, 17 Jan 2023 17:04:04 +0000 (17:04 +0000)
commit6dc9725471e05fe12bd72406f97daca49a47a0c0
treebac15b434451ba216bc3230a4090659e0081b255
parent6be602f79cbf501f0e67cee3f926c11fa7490d4f
[mlir][vector] Fix lowering of permutation maps for transfer_write op

The lowering of transfer write permutation maps didn't match the op definition:
https://github.com/llvm/llvm-project/blob/93ccccb00d9717b58ba93f0942a243ba6dac4ef6/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td#L1476

Fix the lowering and add a case to the integration test in
order to enforce the correct semantic.

Differential Revision: https://reviews.llvm.org/D141801
mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
mlir/lib/Dialect/Vector/IR/VectorOps.cpp
mlir/lib/Dialect/Vector/Transforms/VectorTransferPermutationMapRewritePatterns.cpp
mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
mlir/test/Integration/Dialect/Vector/CPU/test-transfer-write.mlir