[Mlir-commits] [mlir] [mlir] Improve dialect conversion failure diagnostics (PR #182729)

Matthias Springer llvmlistbot at llvm.org
Sun Mar 1 23:21:26 PST 2026


================
@@ -3304,15 +3338,30 @@ struct OperationConverter {
 LogicalResult OperationConverter::convert(Operation *op,
                                           bool isRecursiveLegalization) {
   const ConversionConfig &config = rewriter.getConfig();
+  auto emitFailedToLegalizeDiag = [&](bool wasExplicitlyIllegal) {
+    InFlightDiagnostic diag = op->emitError()
+                              << "failed to legalize operation '"
+                              << op->getName() << "'";
+    if (wasExplicitlyIllegal)
+      diag << " that was explicitly marked illegal";
+
+    diag << "; operands (" << op->getOperandTypes() << "), results ("
----------------
matthias-springer wrote:

Let's use `OpWithFlags(op, OpPrintingFlags().skipRegions())` instead of `op->getName()`, `op->getOperandTypes()` and `op->getResultTypes()`.


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


More information about the Mlir-commits mailing list