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

Alessandro Potenza llvmlistbot at llvm.org
Sat Aug 29 22:47:10 PDT 2026


alepot55 wrote:

@joker-eph the test placement is the only thing left on my side, so let me put both options down.

`canonicalize.mlir` runs `func.func(canonicalize{test-convergence})`. With the repro's `llvm.func` parent the pass never visits the op, and changing the parent to `func.func` masks the bug, because Func's inliner extension loads ControlFlow for its own reasons. That is why nothing in tree caught this. The case needs a plain `--canonicalize` RUN line somewhere. I can fold it into an existing file that has one, or rename this one. Tell me which and I will push it.

@Hardcode84 raised the bigger question and I am not going to argue with it: an `scf` canonicalization probably should not be materializing `cf.br`. But the pattern is in the tree today and it aborts on valid input, so it either gets the dependency or it gets removed. @matthias-springer, you have by far the most history in `SCFOps.td`; is deleting `MultiBlockExecuteInliner` the direction you would want? I am happy to write that patch instead.

`buildkite/libcxx-ci` is green on `4f4b21e43`. Two weeks with no answer either way. If neither change is wanted, I would rather close this than leave it open.


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


More information about the Mlir-commits mailing list