[all-commits] [llvm/llvm-project] f4f1cf: [mlir][bufferize] Better analysis for return value...
Matthias Springer via All-commits
all-commits at lists.llvm.org
Wed Apr 6 07:56:14 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f4f1cf6c31beaf387ae73b0407b30b41438dafde
https://github.com/llvm/llvm-project/commit/f4f1cf6c31beaf387ae73b0407b30b41438dafde
Author: Matthias Springer <springerm at google.com>
Date: 2022-04-06 (Wed, 06 Apr 2022)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
M mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
A mlir/test/Dialect/Linalg/one-shot-module-bufferize-allow-return-allocs.mlir
A mlir/test/Dialect/Linalg/one-shot-module-bufferize.mlir
Log Message:
-----------
[mlir][bufferize] Better analysis for return values of CallOps
Support returning arbitrary tensors from functions. Even those that are
not equivalent. To that end, additional information is gathered during
the analysis phase. In particular, which function args are aliasing with
which return values.
Also fix bugs in the current implementation when returning equivalent
tensors. Various unit tests are added to ensure that we have better test
coverage.
Note: Returning non-equivalent tensors is only allowed when
allowReturnAllocs is enabled. This functionality is useful for unit
testing and compatibility with other bufferizations such as the sparse
compiler. This is also towards using ModuleBufferization as a
replacement for --func-bufferize.
Differential Revision: https://reviews.llvm.org/D119120
More information about the All-commits
mailing list