[all-commits] [llvm/llvm-project] d58256: [mlir][bufferization] Add DeallocOp
Martin Erhart via All-commits
all-commits at lists.llvm.org
Tue Jul 18 00:33:46 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d5825621885d2230044cac669e003ce205ab0f12
https://github.com/llvm/llvm-project/commit/d5825621885d2230044cac669e003ce205ab0f12
Author: Martin Erhart <merhart at google.com>
Date: 2023-07-18 (Tue, 18 Jul 2023)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/inlining.mlir
M mlir/test/Dialect/Bufferization/invalid.mlir
M mlir/test/Dialect/Bufferization/ops.mlir
Log Message:
-----------
[mlir][bufferization] Add DeallocOp
The dealloc operation deallocates each of the given memrefs if there is no alias
to that memref in the list of retained memrefs and the corresponding
condition value is set. This condition can be used to indicate and pass on
ownership of memref values (or in other words, the responsibility of
deallocating that memref). If two memrefs alias each other, only one will be
deallocated to avoid double free situations.
The memrefs to be deallocated must be the originally allocated memrefs,
however, the memrefs to be retained may be arbitrary memrefs.
Returns a list of conditions corresponding to the list of memrefs which
indicates the new ownerships, i.e., if the memref was deallocated the
ownership was dropped (set to 'false') and otherwise will be the same as the
input condition.
Differential Revision: https://reviews.llvm.org/D155467
More information about the All-commits
mailing list