[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