[Mlir-commits] [mlir] [mlir] Check greedy rewrite fingerprints and changed flag (PR #232576)

Matthias Springer llvmlistbot at llvm.org
Fri Oct 16 17:46:58 PDT 2026


================
@@ -954,10 +954,23 @@ mlir::applyPatternsGreedily(Region &region,
         "greedy pattern rewriter input IR failed to verify");
 #endif // MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS
 
+#ifdef EXPENSIVE_CHECKS
+  OperationFingerPrint before(config.getScope()->getParentOp());
+  bool rewriteChanged = false;
+  if (!changed)
+    changed = &rewriteChanged;
+#endif // EXPENSIVE_CHECKS
+
   // Start the pattern driver.
   RegionPatternRewriteDriver driver(region.getContext(), patterns, config,
                                     region);
   LogicalResult converged = std::move(driver).simplify(changed);
+#ifdef EXPENSIVE_CHECKS
+  if (!*changed &&
----------------
matthias-springer wrote:

Can you make this check stronger? `if (*changed != (before != OperationFingerPrint(...)))`


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


More information about the Mlir-commits mailing list