This op "unbatches" an op handle and executes the loop body for each payload op.
Depends On D130244
Paths
| Differential D130257
[mlir][transform] Add ForeachOp to transform dialect ClosedPublic Authored by springerm on Jul 21 2022, 5:27 AM.
Details Summary This op "unbatches" an op handle and executes the loop body for each payload op. Depends On D130244
Diff Detail
Event Timeline
This revision is now accepted and ready to land.Jul 22 2022, 2:17 AM Comment Actions I would consider describing the default "batched" mode in https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td and mentioning this operation as a way of obtaining "unbatched" mode.
This revision was landed with ongoing or failed builds.Jul 26 2022, 9:11 AM Closed by commit rGbffec215abbd: [mlir][transform] Add ForeachOp to transform dialect (authored by springerm). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 447738 mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
mlir/lib/Dialect/Transform/IR/TransformOps.cpp
mlir/test/Dialect/Transform/ops-invalid.mlir
mlir/test/Dialect/Transform/ops.mlir
mlir/test/Dialect/Transform/test-interpreter.mlir
|
I would consider returning as many handles as transform.yield has operands, with each handle corresponding to a list of individual payload operations yielded by each iteration. This would make this op composable with functional-style composition of transformations. Not necessary for this commit.