[all-commits] [llvm/llvm-project] b44def: [mlir][linalg][bufferize] Generalize destination-p...

Matthias Springer via All-commits all-commits at lists.llvm.org
Wed Jan 19 01:21:53 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b44defa5a5964ea7a6ce0f1ada9b59510e59f6d7
      https://github.com/llvm/llvm-project/commit/b44defa5a5964ea7a6ce0f1ada9b59510e59f6d7
  Author: Matthias Springer <springerm at google.com>
  Date:   2022-01-19 (Wed, 19 Jan 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.h
    M mlir/lib/Dialect/Linalg/ComprehensiveBufferize/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
    M mlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferizePass.cpp
    M mlir/test/Dialect/Linalg/comprehensive-function-bufferize.mlir
    M mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir
    M mlir/test/Dialect/Linalg/comprehensive-module-bufferize-partial.mlir
    M mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
    M mlir/test/lib/Dialect/Linalg/TestComprehensiveBufferize.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][linalg][bufferize] Generalize destination-passing style detection

If not allow-return-memref, raise an error if a new memory allocation is returned/yielded from a block. We do not check for new allocations directly, but for ops that yield/return values that are not equivalent to values that are defined outside of the current of the block.

Note: We still need to check that scf.for yield values and bbArgs are aliasing to ensure that getAliasingOpOperand/getAliasingOpResult is correct.

Differential Revision: https://reviews.llvm.org/D116687




More information about the All-commits mailing list