[mlir] [VectorOps] Add masked load/store operations to Vector dialect
authoraartbik <ajcbik@google.com>
Wed, 5 Aug 2020 20:43:16 +0000 (13:43 -0700)
committeraartbik <ajcbik@google.com>
Wed, 5 Aug 2020 23:45:24 +0000 (16:45 -0700)
commit39379916a7f01d907562c1b70114568dac1778a2
tree55acfe8704ae787b0dd436920dd29a62c049e8da
parentdd892a33e1ec28ff430c74b67d076344c51e4acb
[mlir] [VectorOps] Add masked load/store operations to Vector dialect

The intrinsics were already supported and vector.transfer_read/write lowered
direclty into these operations. By providing them as individual ops, however,
clients can used them directly, and it opens up progressively lowering transfer
operations at higher levels (rather than direct lowering to LLVM IR as done now).

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D85357
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/integration_test/Dialect/Vector/CPU/test-maskedload.mlir [new file with mode: 0644]
mlir/integration_test/Dialect/Vector/CPU/test-maskedstore.mlir [new file with mode: 0644]
mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
mlir/lib/Dialect/Vector/VectorOps.cpp
mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
mlir/test/Dialect/Vector/invalid.mlir
mlir/test/Dialect/Vector/ops.mlir