[Mlir-commits] [mlir] [mlir][transform] Overhaul `RegionBranchOpInterface` implementations. (PR #111408)
Matthias Springer
llvmlistbot at llvm.org
Thu Oct 10 06:12:58 PDT 2024
Ingo =?utf-8?q?Müller?= <ingomueller at google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/111408 at github.com>
================
@@ -104,16 +104,8 @@ transform::AlternativesOp::getEntrySuccessorOperands(RegionBranchPoint point) {
void transform::AlternativesOp::getSuccessorRegions(
RegionBranchPoint point, SmallVectorImpl<RegionSuccessor> ®ions) {
- for (Region &alternative : llvm::drop_begin(
----------------
matthias-springer wrote:
Yes, that's correct. But I am wondering if it makes any difference for analyses and transformations.
If we a region has an argument, but the `RegionBranchOpInterface` says that no arguments are forwarded to that region: what does that mean? It means that we have no idea where the data for that block argument is coming from. Maybe the op itself produces it.
Or maybe the value was actually forwarded from another region but we did not account for it in the `RegionBranchOpInterface` (and the terminator interface).
Does it matter which one is the case for an analysis that checks the `RegionBranchOpInterface`? It has to be conservative around such cases anyway.
https://github.com/llvm/llvm-project/pull/111408
More information about the Mlir-commits
mailing list