Lower vector transfer ops to loop.for operations.
authorNicolas Vasilache <ntv@google.com>
Fri, 18 Oct 2019 21:09:42 +0000 (14:09 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Fri, 18 Oct 2019 21:10:10 +0000 (14:10 -0700)
commit9e7e297da33be70ec41335800c05b554f5de065b
tree3133696e6ee3b942169f635f8e174fad19108c8e
parent2823b685804b3419c29f3fd8480f4d1ad4fb5c17
Lower vector transfer ops to loop.for operations.

This allows mixing linalg operations with vector transfer operations (with additional modifications to affine ops) and is a step towards solving tensorflow/mlir#189.

PiperOrigin-RevId: 275543361
mlir/lib/Dialect/Linalg/Transforms/LowerToLLVMDialect.cpp
mlir/lib/EDSC/Builders.cpp
mlir/lib/EDSC/Helpers.cpp
mlir/lib/Transforms/LowerVectorTransfers.cpp
mlir/test/Dialect/Linalg/llvm.mlir
mlir/test/Dialect/Linalg/loops.mlir
mlir/test/Dialect/Linalg/roundtrip.mlir
mlir/test/Transforms/Vectorize/lower_vector_transfers.mlir
mlir/test/mlir-cpu-runner/linalg_integration_test.mlir
mlir/test/mlir-cpu-runner/utils.mlir