[Mlir-commits] [mlir] [mlir][scf] Declare ControlFlow as a dependent dialect (PR #216852)

Alessandro Potenza llvmlistbot at llvm.org
Mon Aug 17 15:51:13 PDT 2026


alepot55 wrote:

Thanks, and sorry about the description. I have pruned it.

On the test file: it cannot go in `canonicalize.mlir` as it stands. That file's
pipeline is `builtin.module(func.func(canonicalize{test-convergence}))`, so with the
repro's `llvm.func` parent the pass never visits the op. I ran it, and
`scf.execute_region` comes out untouched. Switching the parent to `func.func` masks
the bug entirely, since Func's inliner extension loads ControlFlow for unrelated
reasons, which is also why no in-tree test caught this. Happy to fold the case into
another file with a plain `--canonicalize` RUN line, or rename this one, if you prefer.

Added CHECKs for the two materialized `cf.br` ops.

@Hardcode84 you may well be right, and I would rather not defend the pattern itself.
That is a larger change though, and the pattern is in the tree today and aborts on
valid input. If it gets removed instead, this PR becomes unnecessary and I will close it.


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


More information about the Mlir-commits mailing list