[mlir] [VectorOps] Use 'vector.flat_transpose' for 2-D 'vector.tranpose'
authoraartbik <ajcbik@google.com>
Wed, 3 Jun 2020 21:13:22 +0000 (14:13 -0700)
committeraartbik <ajcbik@google.com>
Wed, 3 Jun 2020 21:55:50 +0000 (14:55 -0700)
commit6391da98f43a995fe3dfb96a5376b2d9c652ed87
treea37311067a95db46304ab59ae6436fa5b4113ca0
parent5fa9c9d7f276b44b3da949382e0d0b5dbfd0ac8b
[mlir] [VectorOps] Use 'vector.flat_transpose' for 2-D 'vector.tranpose'

Summary:
Progressive lowering of vector.transpose into an operation that
is closer to an intrinsic, and thus the hardware ISA. Currently
under the common vector transform testing flag, as we prepare
deploying this transformation in the LLVM lowering pipeline.

Reviewers: nicolasvasilache, reidtatge, andydavis1, ftynse

Reviewed By: nicolasvasilache, ftynse

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, llvm-commits

Tags: #llvm, #mlir

Differential Revision: https://reviews.llvm.org/D80772
mlir/include/mlir/Dialect/Vector/VectorOps.h
mlir/include/mlir/Dialect/Vector/VectorOps.td
mlir/lib/Dialect/Vector/VectorOps.cpp
mlir/lib/Dialect/Vector/VectorTransforms.cpp
mlir/test/Dialect/Vector/vector-contract-transforms.mlir
mlir/test/Dialect/Vector/vector-flat-transforms.mlir [new file with mode: 0644]
mlir/test/lib/Transforms/TestVectorTransforms.cpp