[Mlir-commits] [mlir] [MLIR] Introduce support for early exits (PR #166688)

Matthias Springer llvmlistbot at llvm.org
Sat Feb 28 05:43:23 PST 2026


================
@@ -558,6 +571,89 @@ func.func @accelerator_compute(i64, i1) -> i64 { // An SSACFG region
 }
 ```
 
+#### Region Terminator
----------------
matthias-springer wrote:

> > In general: branch successors are not implemented as interfaces, and the new addition seems to me to be closer to this than anything else you mentioned (you only described "static" properties / traits, we're talking about an integer here).
> 
> IsolatedFromAbove is a core trait, and it is **static** (an op is or isn't isolated, it's not the user creating the IR that decides): it does not come with storing mutable data.

Why does it matter if the property is static or dynamic? IMO, the differentiating point of encoding information in `OperationState` is that you can look it up without having to know the kind of op. (No need to check the `OperationName`.) It even works for unregistered ops.



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


More information about the Mlir-commits mailing list