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

Matthias Springer llvmlistbot at llvm.org
Sat Feb 28 09:10:49 PST 2026


matthias-springer wrote:

> Without the monolithic design you lose the ability to centralize the state and actually could the specific logic associated with each "property" (SSA dominance, isolation, etc.) with the traversal and bookkeeping.

I don't follow. From the verifier's perspective, whether something is encoded in `OperationState` or queried from an interface is just an implementation detail. You're just calling different APIs.

> In terms of "what is part of an operation and what is state": we could push it to the extreme and an operation would be class that only has a name and nothing else.

Right, there must be a balance. Is "breaking exit" as fundamental to MLIR as "having operands"?

(Also note that "having operands" could probably not be implemented as an interface anyway. Interfaces do not have state. Where would `SSAOperandsOpInterface` store the list of operands?)


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


More information about the Mlir-commits mailing list