Putting some direct use restrictions on tensor allocations in the
sparse case enables the use of simplifying assumptions in the
bufferization analysis.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp | ||
---|---|---|
260–261 | I think you mentioned that it is also not allowed to pass an AllocTensorOp result into a ConvertOp. |
mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp | ||
---|---|---|
260–261 | You are right that there are a few other "local" cases we should verify, but I need to think about this a bit more (and most of these are "caught" by failure to rewrite). But for now, this at least avoids passing those weird uninitialized sparse tensors across function boundaries ;-) |
I think you mentioned that it is also not allowed to pass an AllocTensorOp result into a ConvertOp.