From 636db7f87c7720698bbbf69c7cde3dd255bf6f78 Mon Sep 17 00:00:00 2001 From: Max Kudryavtsev Date: Thu, 3 Dec 2020 09:51:47 -0800 Subject: [PATCH] [MLIR] Fix vector::TransferWriteOp builder losing permutation map Supervectorizer pass uses this builder and loses the permutation map. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D92145 --- mlir/lib/Dialect/Vector/VectorOps.cpp | 5 ++--- mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/mlir/lib/Dialect/Vector/VectorOps.cpp b/mlir/lib/Dialect/Vector/VectorOps.cpp index e6610eb..fe26949 100644 --- a/mlir/lib/Dialect/Vector/VectorOps.cpp +++ b/mlir/lib/Dialect/Vector/VectorOps.cpp @@ -2171,12 +2171,11 @@ void TransferWriteOp::build(OpBuilder &builder, OperationState &result, build(builder, result, vector, memref, indices, permMap, maskedArrayAttr); } -/// Builder that sets permutation map to 'getMinorIdentityMap'. void TransferWriteOp::build(OpBuilder &builder, OperationState &result, Value vector, Value memref, ValueRange indices, AffineMap permutationMap) { - build(builder, result, vector, memref, indices, - /*maybeMasked=*/ArrayRef{}); + build(builder, result, vector, memref, indices, permutationMap, + /*maybeMasked=*/ArrayAttr()); } static ParseResult parseTransferWriteOp(OpAsmParser &parser, diff --git a/mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir b/mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir index bf899cd..ef8e283 100644 --- a/mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir +++ b/mlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir @@ -56,7 +56,7 @@ func @double_loop_nest(%a: memref<20x30xf32>, %b: memref<20xf32>) { // VECNEST: vector.transfer_read // VECNEST-NEXT: affine.for %{{.*}} = 0 to 30 { // VECNEST: vector.transfer_read -// VECNEST-NEXT: vector.transfer_write +// VECNEST-NEXT: vector.transfer_write %{{.*}}, %{{.*}}[%{{.*}}, %{{.*}}] {permutation_map = #{{.*}}} // VECNEST-NEXT: } // VECNEST-NEXT: vector.transfer_write // VECNEST: } -- 2.7.4