diff --git a/mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td b/mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td --- a/mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td +++ b/mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td @@ -150,11 +150,12 @@ let description = [{ Fuses the `producer_op` into the `containing_op`. - Returns a handle to the fused ops. + Returns a handle to the fused ops and the `new_containing_op`. The producer is typically a slice of a tileable op (i.e., implements TilingInterface). In that case, this transform computes the accessed - producer slice inside of the containing op ("tile and fuse"). Otherwise, + producer slice inside of the containing op ("tile and fuse") and if required, + creates a new containing op with outputs from the fused producer. Otherwise, the entire producer is cloned inside the containing op ("clone and fuse"). The containing op handle must be associated with exactly one payload op. The