[all-commits] [llvm/llvm-project] 8160bc: [mlir][bufferization][NFC] Introduce BufferDealloc...

Martin Erhart via All-commits all-commits at lists.llvm.org
Thu Sep 14 04:58:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8160bce969c7c748e86ae7775e85c66f0b01f509
      https://github.com/llvm/llvm-project/commit/8160bce969c7c748e86ae7775e85c66f0b01f509
  Author: Martin Erhart <merhart at google.com>
  Date:   2023-09-14 (Thu, 14 Sep 2023)

  Changed paths:
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.h
    A mlir/include/mlir/Dialect/Bufferization/IR/BufferDeallocationOpInterface.td
    M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferUtils.h
    A mlir/include/mlir/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    A mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
    M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
    A mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
    M mlir/lib/Dialect/ControlFlow/Transforms/CMakeLists.txt
    M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-region-branchop-interface.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][bufferization][NFC] Introduce BufferDeallocationOpInterface (#66349)

This new interface allows operations to implement custom handling of ownership values and insertion of dealloc operations which is useful when an op cannot implement the interfaces supported by default by the buffer deallocation pass (e.g., because they are not exactly compatible or because there are some additional semantics to it that would render the default implementations in buffer deallocation invalid, or because no interfaces exist for this
kind of behavior and it's not worth introducing one plus a default implementation in buffer deallocation). Additionally, it can also be used to provide more efficient handling for a specific op than the interface based default
implementations can.




More information about the All-commits mailing list