[Mlir-commits] [mlir] [mlir] Fix RemoveDeadRegionBranchOpSuccessorInputs producing invalid scf.for (LoopLikeOpInterface tie) (PR #216627)

Matthias Springer llvmlistbot at llvm.org
Sun Aug 16 23:48:56 PDT 2026


================
@@ -3733,7 +3756,7 @@ void WhileOp::getCanonicalizationPatterns(RewritePatternSet &results,
   results.add<WhileConditionTruth, WhileCmpCond, WhileOpAlignBeforeArgs,
               WhileMoveIfDown>(context);
   populateRegionBranchOpInterfaceCanonicalizationPatterns(
-      results, WhileOp::getOperationName());
+      results, WhileOp::getOperationName(), addLoopLikeStructuralTies);
----------------
matthias-springer wrote:

`WhileOp` does not implement the loop-like op interface. I believe the same expensive-pattern-check error can be produced with `scf.while`, we just don't have a test case for it today.

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


More information about the Mlir-commits mailing list