OSDN Git Service

[mlir][vector] generalized masked l/s and compressed l/s with indices
authorAart Bik <ajcbik@google.com>
Fri, 8 Jan 2021 18:26:57 +0000 (10:26 -0800)
committerAart Bik <ajcbik@google.com>
Fri, 8 Jan 2021 21:59:34 +0000 (13:59 -0800)
commita57def30f53990aafc3f64b9b7a0f60916cc7f61
tree3657de0807bc42784eb8fe6d7b0f39a1959de9bd
parent1ba5ea67a30170053964a28f2f47aea4bb7f5ff1
[mlir][vector] generalized masked l/s and compressed l/s with indices

Adding the ability to index the base address brings these operations closer
to the transfer read and write semantics (with lowering advantages), ensures
more consistent use in vector MLIR code (easier to read), and reduces the
amount of code duplication to lower memrefs into base addresses considerably
(making codegen less error-prone).

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D94278
13 files changed:
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/integration_test/Dialect/Vector/CPU/test-compress.mlir
mlir/integration_test/Dialect/Vector/CPU/test-expand.mlir
mlir/integration_test/Dialect/Vector/CPU/test-maskedload.mlir
mlir/integration_test/Dialect/Vector/CPU/test-maskedstore.mlir
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
mlir/test/Dialect/Vector/vector-mem-transforms.mlir
mlir/test/Dialect/Vector/vector-transforms.mlir
mlir/test/lib/Transforms/TestVectorTransforms.cpp