[Mlir-commits] [mlir] [mlir][Interfaces] Add `ExecutionProgressOpInterface` + folding pattern (PR #179039)

Matthias Springer llvmlistbot at llvm.org
Sun Feb 1 06:45:24 PST 2026


matthias-springer wrote:

> I am personally a bit more in favour of `mustProgress` defaulting to false

This makes sense to me, I change the implementation accordingly. "mustProgress = true" enables certain transformations and those may not be correct, e.g., for unregistered ops, where we cannot query the interface.

The default impl of the interface method is still `return true;`. This now behaves like the `MemoryEffectOpInterface` / `isMemoryEffectFree`. If you implement the interface, but do nothing else (i.e., not override the interface method), you get "mustProgress = true".

> but for the common case of having the method return true or false a trait is available

Given that we have the default impl, we'd only need a trait for the "false" case. Something like `MayNotProgress`. Let's add it when we have the first use case for it.


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


More information about the Mlir-commits mailing list