[Mlir-commits] [mlir] [mlir][Transforms] Report all `allowPatternRollback` violations as fatal errors (PR #148416)

Matthias Springer llvmlistbot at llvm.org
Sun Jul 13 02:03:54 PDT 2025


https://github.com/matthias-springer created https://github.com/llvm/llvm-project/pull/148416

Report all `allowPatternRollback` API violations as fatal errors. If violated, the IR is potentially in an invalid/inconsistent state from which the driver cannot recover.


>From 4099070a0b1c8ebebc910031b1bc32fbc0693ac6 Mon Sep 17 00:00:00 2001
From: Matthias Springer <me at m-sp.org>
Date: Sun, 13 Jul 2025 09:01:24 +0000
Subject: [PATCH] [mlir][Transforms] Report all `allowPatternRollback`
 violationsn as fatal errors

---
 mlir/lib/Transforms/Utils/DialectConversion.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp
index 437dbcfea5288..4d01a83d37165 100644
--- a/mlir/lib/Transforms/Utils/DialectConversion.cpp
+++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp
@@ -2266,9 +2266,8 @@ OperationLegalizer::legalizeWithPattern(Operation *op,
     appliedPatterns.erase(&pattern);
     if (failed(result)) {
       if (!rewriterImpl.config.allowPatternRollback)
-        op->emitError("pattern '")
-            << pattern.getDebugName()
-            << "' produced IR that could not be legalized";
+        llvm::report_fatal_error("pattern '" + pattern.getDebugName() +
+                                 "' produced IR that could not be legalized");
       rewriterImpl.resetState(curState, pattern.getDebugName());
     }
     if (config.listener)



More information about the Mlir-commits mailing list