[MLIR][Vector] Update ShapeCastOp folder to use producer-consumer value forwarding.
authorAndy Davis <andydavis@google.com>
Wed, 8 Apr 2020 15:39:48 +0000 (08:39 -0700)
committerAndy Davis <andydavis@google.com>
Wed, 8 Apr 2020 15:55:37 +0000 (08:55 -0700)
commit7006daa548c25960dbb5a50e9b9987d4dd01798b
treef5a4f2f81b4a981812727f85595625c375295255
parent952c2741599ed492cedd37da895d7e81bc175ab9
[MLIR][Vector] Update ShapeCastOp folder to use producer-consumer value forwarding.

Summary:
Update ShapeCastOp folder to use producer-consumer value forwarding.
Support is added for tracking sub-vectors through trivial shape cast operations,
where the sub-vector shape is preserved across shape cast operations and only
leading ones are added or removed.
Support is preserved for cancelling shape cast operations.
One unit test is added and two are updated.

Reviewers: aartbik, nicolasvasilache

Reviewed By: aartbik, nicolasvasilache

Subscribers: frgossen, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77253
mlir/lib/Dialect/Vector/VectorTransforms.cpp
mlir/test/Dialect/Vector/vector-transforms.mlir