[Mlir-commits] [mlir] [mlir][linalg] Genericize MapOp (PR #162742)

Matthias Springer llvmlistbot at llvm.org
Mon Oct 20 06:34:07 PDT 2025


matthias-springer wrote:

> If the `map` operation doesn't use the `init`, then bufferization will always create a new allocation.

In the current design, if you want a `linalg.map` to bufferize in-place, you have to select one of the "ins" operands as "init" operand. (I.e., pass the same operand as "in" and "init".)

This usually triggers a RaW in the bufferization. But there is one special case: `bufferizesToElementwiseAccess`. This is the case for Linalg ops and makes it such that this is not considered a conflict.

Whether you expose the "init" operand as a bbArg or not does not matter. The bufferizes-to-memwrite was already there for the init bbArg, the only thing you're possibly adding here is a bufferizes-to-memread. But due to `bufferizesToElementwiseAccess`, that cannot cause a RaW conflict.

Long story short: I think this PR does not pessimize bufferization.


https://github.com/llvm/llvm-project/pull/162742


More information about the Mlir-commits mailing list