[Mlir-commits] [mlir] [mlir][transform] Overhaul `RegionBranchOpInterface` implementations. (PR #111408)
Ingo Müller
llvmlistbot at llvm.org
Thu Oct 10 02:35:31 PDT 2024
================
@@ -104,16 +104,8 @@ transform::AlternativesOp::getEntrySuccessorOperands(RegionBranchPoint point) {
void transform::AlternativesOp::getSuccessorRegions(
RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ions) {
- for (Region &alternative : llvm::drop_begin(
----------------
ingomueller-net wrote:
In `sequence`, I think the sentences matches, no? When control reaches `yield`, the operands of yield are forwarded to the parent op, they become the result of the op, and "control flow leaves [the] op," right?
What doesn't quite fit for `foreach` and `alternatives` is the "control flow leaves [the] op" part. One could argue that the "region successor is a [part of or a potential] range of results of [the] op," but then the control flow does *not* leave the op; instead it may go to the next region or re-enter the body. Plus there are rules about how to combine the different results yielded by different regions/iterations (though the types always match).
https://github.com/llvm/llvm-project/pull/111408
More information about the Mlir-commits
mailing list