[mlir] Add "mask" operand to vector.transfer_read/write.
authorMatthias Springer <springerm@google.com>
Wed, 7 Apr 2021 12:11:55 +0000 (21:11 +0900)
committerMatthias Springer <springerm@google.com>
Wed, 7 Apr 2021 12:33:13 +0000 (21:33 +0900)
commit65a3f289397fd7d6cfcb4ddfdf324e37cf90cad7
tree5919c9ff685dd7e6d392ff7d5b61f6c604271411
parentc0ef93bec85a8847b51d91d2a6470af903e1ec9a
[mlir] Add "mask" operand to vector.transfer_read/write.

Also factors out out-of-bounds mask generation from vector.transfer_read/write into a new MaterializeTransferMask pattern.

Differential Revision: https://reviews.llvm.org/D100001
13 files changed:
mlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
mlir/include/mlir/Dialect/Vector/VectorOps.h
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
mlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp
mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
mlir/lib/Dialect/Vector/VectorOps.cpp
mlir/lib/Dialect/Vector/VectorTransforms.cpp
mlir/test/Conversion/VectorToLLVM/vector-mask-to-llvm.mlir
mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
mlir/test/Dialect/Vector/ops.mlir
mlir/test/Integration/Dialect/Vector/CPU/test-transfer-read.mlir