[mlir][vector] Add transfer_op LoadToStore forwarding and deadStore optimizations
authorThomas Raoux <thomasraoux@google.com>
Mon, 16 Nov 2020 18:52:10 +0000 (10:52 -0800)
committerThomas Raoux <thomasraoux@google.com>
Fri, 20 Nov 2020 19:59:01 +0000 (11:59 -0800)
commit369c51a74b5327464e27e0749ca7ac59ac1349ce
treea0d190e288931fe1a3d571179b9b6f4ff705cf21
parentde5b0b776fd7de72078256e003ede4fb5c37cdcb
[mlir][vector] Add transfer_op LoadToStore forwarding and deadStore optimizations

Add transformation to be able to forward transfer_write into transfer_read
operation and to be able to remove dead transfer_write when a transfer_write is
overwritten before being read.

Differential Revision: https://reviews.llvm.org/D91321
mlir/include/mlir/Dialect/Vector/VectorTransforms.h
mlir/include/mlir/Dialect/Vector/VectorUtils.h
mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
mlir/lib/Dialect/Vector/CMakeLists.txt
mlir/lib/Dialect/Vector/VectorTransferOpTransforms.cpp [new file with mode: 0644]
mlir/lib/Dialect/Vector/VectorUtils.cpp
mlir/test/Dialect/Vector/vector-transferop-opt.mlir [new file with mode: 0644]
mlir/test/lib/Transforms/TestVectorTransforms.cpp