diff options
author | Matthias Springer <me@m-sp.org> | 2023-08-03 16:32:24 +0200 |
---|---|---|
committer | Matthias Springer <me@m-sp.org> | 2023-08-03 16:35:55 +0200 |
commit | 54683405532722b2e1c1677fbc18e2df69a05307 (patch) | |
tree | ab238bb4be20d990a354e170083780ae239dfdeb /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3feb63e112e21f293e8264cb25028164fcc2cf9f (diff) | |
download | llvm-54683405532722b2e1c1677fbc18e2df69a05307.zip llvm-54683405532722b2e1c1677fbc18e2df69a05307.tar.gz llvm-54683405532722b2e1c1677fbc18e2df69a05307.tar.bz2 |
[mlir][bufferization] Improve analysis for element-wise operations
Before this change, two equivalent operands that bufferize to a memory read and write, respectively, were always conflicting. This change improves the analysis for ops that bufferize to element-wise access. Such ops can bufferize in-place, because an original element value is not needed anymore after computing and writing an updated element value.
This change allows ops such as the following one to bufferize in-place:
```
%0 = linalg.elemwise_binary {fun = #linalg.binary_fn<add>}
ins(%a, %b : tensor<5xf32>, tensor<5xf32>)
outs(%a : tensor<5xf32>) -> tensor<5xf32>
```
Differential Revision: https://reviews.llvm.org/D156887
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions