[Mlir-commits] [mlir] [mlir][SCF] Remove `RegionBranchOpInterface` from `scf.forall` (PR #174221)
Oleksandr Alex Zinenko
llvmlistbot at llvm.org
Tue Jan 6 01:00:30 PST 2026
ftynse wrote:
I am not sure about the "interface implementation completeness": do we require somewhere that terminators in operations implementing `RegionBranchOpInterface` must implement `RegionBranchTerminatorOpInterface` (if so, I'd perhaps add an assertion somehow)? In my reading, the current implementation says as much as we can say using this interface about control flow: it flows from before the op to the region and then to after the op, no values are being forwarded as-is anywhere (hence no need for `RegionBranchTerminatorOpInterface`). IMO, short of the requirement connecting the two interfaces, the logic using them should be robust to the terminator not implementing the interface since nothing guaranteed it. We can also have `RegionBranchTerminatorOpInterface` on `scf.in_parallel` and have it return an empty range of operands as forwarded to results.
I'm also not opposed to the change, but I think we need to nail it down this time.
https://github.com/llvm/llvm-project/pull/174221
More information about the Mlir-commits
mailing list