[mlir] Bufferize tensor constant ops
authorSean Silva <silvasean@google.com>
Tue, 10 Nov 2020 00:48:00 +0000 (16:48 -0800)
committerSean Silva <silvasean@google.com>
Thu, 12 Nov 2020 22:56:10 +0000 (14:56 -0800)
commitfaa66b1b2c7a328e747c283dfd0dcf43c365330d
tree1301f893ddfedbf95b9542d3759b390908c29c37
parentad2f9f67451cbb5e3af9760222f802da82f8024e
[mlir] Bufferize tensor constant ops

We lower them to a std.global_memref (uniqued by constant value) + a
std.get_global_memref to produce the corresponding memref value.
This allows removing Linalg's somewhat hacky lowering of tensor
constants, now that std properly supports this.

Differential Revision: https://reviews.llvm.org/D91306
13 files changed:
mlir/include/mlir/Dialect/Linalg/Passes.td
mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.h
mlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
mlir/integration_test/Dialect/Linalg/CPU/test-elementwise.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-subtensor-insert-multiple-uses.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-subtensor-insert.mlir [new file with mode: 0644]
mlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
mlir/integration_test/Dialect/Linalg/CPU/test-tensor-matmul.mlir
mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
mlir/lib/Dialect/StandardOps/Transforms/CMakeLists.txt
mlir/lib/Dialect/StandardOps/Transforms/TensorConstantBufferize.cpp [new file with mode: 0644]
mlir/test/Dialect/Linalg/bufferize.mlir
mlir/test/Dialect/Standard/tensor-constant-bufferize.mlir [new file with mode: 0644]