Allow ops that are not bufferizable in the input IR. (Deactivated by default.)
bufferization::ToMemrefOp and bufferization::ToTensorOp are generated at the bufferization boundaries.
Depends On D114661
Paths
| Differential D114669
[mlir][linalg][bufferize] Allow unbufferizable ops in input ClosedPublic Authored by springerm on Nov 27 2021, 5:59 PM.
Details Summary Allow ops that are not bufferizable in the input IR. (Deactivated by default.) bufferization::ToMemrefOp and bufferization::ToTensorOp are generated at the bufferization boundaries. Depends On D114661
Diff Detail
Event TimelineHerald added subscribers: sdasgup3, wenzhicui, wrengr and 21 others. · View Herald TranscriptNov 27 2021, 5:59 PM nicolasvasilache added inline comments.
This revision is now accepted and ready to land.Dec 1 2021, 12:34 AM Closed by commit rGad1ba42f687f: [mlir][linalg][bufferize] Allow unbufferizable ops in input (authored by springerm). · Explain WhyDec 3 2021, 3:25 AM This revision was automatically updated to reflect the committed changes. springerm marked 2 inline comments as done.
Revision Contents
Diff 390183 mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.h
mlir/include/mlir/Dialect/Linalg/Passes.td
mlir/lib/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.cpp
mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
mlir/test/Dialect/Linalg/comprehensive-module-bufferize-partial.mlir
|
In one of the previous CLs, please write heavy documentation that to_memref represents the "future location in memory" to which the tensor will be bufferized.
This may connect nicely to the analysis we do in comprehensive bufferize which thinks in term of these "futures".
What do we know at a particular point in time re these futures for to_memref ?
It depends, often almost nothing and they may alias with the world.