diff options
author | MaheshRavishankar <1663364+MaheshRavishankar@users.noreply.github.com> | 2025-04-03 09:47:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-03 09:47:36 -0700 |
commit | a1bc979aa854c600e64e7500f1b79cd1d2655eb4 (patch) | |
tree | 6eb1c3894db8d5829bfde0b9af4b8055c3fe7167 /llvm/lib/Transforms/Utils/CloneFunction.cpp | |
parent | bc6cd825ecea94f015c590c877a1401d3a4a46b8 (diff) | |
download | llvm-a1bc979aa854c600e64e7500f1b79cd1d2655eb4.zip llvm-a1bc979aa854c600e64e7500f1b79cd1d2655eb4.tar.gz llvm-a1bc979aa854c600e64e7500f1b79cd1d2655eb4.tar.bz2 |
[mlir][Bufferization] Do not have read semantics for destination of `tensor.parallel_insert_slice`. (#134169)
`tensor.insert_slice` needs to have read semantics on its destination
operand. Since it has a return value, its semantics are
- Copy dest to result
- Copy source to subview of destination.
`tensor.parallel_insert_slice` though has no result. So it does not need
to have read semantics. The op description
[here](https://github.com/llvm/llvm-project/blob/a3ac318e5f8668ec5b79dd86639881dfb2e88b69/mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td#L1524)
also says that it is expected to lower to a `memref.subview`, that does
not have read semantics on the destination (its just a view).
This patch drops the read semantics for destination of
`tensor.parallel_insert_slice` but also makes the `shared_outs` operands
of `scf.forall` have read semantics. Earlier it would rely indirectly on
read semantics of destination operand of `tensor.parallel_insert_slice`
to propagate the read semantics for `shared_outs`. Now that is specified
more directly.
Fixes #133964
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar@gmail.com>
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneFunction.cpp')
0 files changed, 0 insertions, 0 deletions