[Mlir-commits] [mlir] [mlir][interface] Add getRegionNonForwardedValues API to RegionBranchOpInterface (PR #175212)

Matthias Springer llvmlistbot at llvm.org
Fri Jan 23 03:32:32 PST 2026


================
@@ -443,6 +442,31 @@ RegionBranchOpInterface::getSuccessorOperands(RegionBranchPoint src,
   return src.getTerminatorPredecessorOrNull().getSuccessorOperands(dest);
 }
 
+SmallVector<Value>
+RegionBranchOpInterface::getRegionNonForwardedValues(RegionBranchPoint src,
----------------
matthias-springer wrote:

A slightly shorter way to write this:

```c++
SmallVector<Value> result = llvm::to_vector(dest.isParent() ? ValueRange(getOperation()->getResults()) : ValueRange(dest.getSuccessor()->getArguments());
ValueRange successorInputs = getSuccessorInputs(dest);
if (!successorInputs.empty()) {
  unsigned inputBegin = dest.isParent() ? cast<OpResult>(successorInputs.front()).getResultNumber() : cast<BlockArgument>(successorInputs.front()).getArgNumber();
  result.erase(result.begin() + inputBegin, result.begin() + inputBegin + successorInputs.size());
}
return result;
```


https://github.com/llvm/llvm-project/pull/175212


More information about the Mlir-commits mailing list