[mlir] [VectorOps] Canonicalization of 1-D memory operations
authoraartbik <ajcbik@google.com>
Thu, 13 Aug 2020 22:53:57 +0000 (15:53 -0700)
committeraartbik <ajcbik@google.com>
Fri, 14 Aug 2020 00:15:35 +0000 (17:15 -0700)
commit6b66f21446b982ec698830d0ea8469cee0b208ac
tree52be05055a29d3b341e6324936505bae6fb703b9
parentb182ccfc2d6a59d0fad0685746b48f462ebf6052
[mlir] [VectorOps] Canonicalization of 1-D memory operations

Masked loading/storing in various forms can be optimized
into simpler memory operations when the mask is all true
or all false. Note that the backend does similar optimizations
but doing this early may expose more opportunities for further
optimizations. This further prepares progressively lowering
transfer read and write into 1-D memory operations.

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D85769
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/lib/Dialect/Vector/VectorOps.cpp
mlir/test/Dialect/Vector/vector-mem-transforms.mlir [new file with mode: 0644]