[mlir] [VectorOps] Initial framework for progressively lowering vector.contract
authoraartbik <ajcbik@google.com>
Thu, 13 Feb 2020 22:50:07 +0000 (14:50 -0800)
committeraartbik <ajcbik@google.com>
Thu, 13 Feb 2020 23:07:57 +0000 (15:07 -0800)
commitb21c7999520a83aedcffb7e3f9399bb3603cfcca
tree31f362553b278765d10c72c35c8f72485ae4e868
parent88ec01ca1bfa4c3a29225db93d36e6d32278190d
[mlir] [VectorOps] Initial framework for progressively lowering vector.contract

Summary:
This sets the basic framework for lowering vector.contract progressively
into simpler vector.contract operations until a direct vector.reduction
operation is reached. More details will be filled out progressively as well.

Reviewers: nicolasvasilache

Reviewed By: nicolasvasilache

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

Tags: #llvm

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