[Mlir-commits] [mlir] [mlir][xegpu] Fix verifier diagnostic recursion (PR #124148)

Adam Siemieniuk llvmlistbot at llvm.org
Thu Jan 23 09:10:46 PST 2025


https://github.com/adam-smnk created https://github.com/llvm/llvm-project/pull/124148

Uses global diagnostic message in operation verifier to avoid infinite recursion on a warning.

Emitting diagnostics through the operation under verification creates a loop where verifier runs again before printing the message.

>From 966b514d7c607c7eaad37cc38078edc0774868c9 Mon Sep 17 00:00:00 2001
From: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: Thu, 23 Jan 2025 17:59:46 +0100
Subject: [PATCH] [mlir][xegpu] Fix verifier diagnostic recursion

Uses global diagnostic message in operation verifier to avoid infinite
recursion on a warning.

Emitting diagnostics through the operation under verification creates
a loop where verifier runs again before printing the message.
---
 mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp b/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
index 15c435f1fa257b..81f46f941785a1 100644
--- a/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
+++ b/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
@@ -294,7 +294,7 @@ LogicalResult LoadNdOp::verify() {
     if (valid)
       transpose(trans, tdescShape);
     else
-      emitWarning("Invalid transpose attr. It is ignored.");
+      mlir::emitWarning(getLoc()) << "Invalid transpose attr. It is ignored.";
   }
 
   if (getPacked()) {
@@ -304,8 +304,9 @@ LogicalResult LoadNdOp::verify() {
       tdescShape[axis] /= vnni_factor;
       tdescShape.push_back(vnni_factor);
     } else {
-      emitWarning("Invalid Packed Attr. It is ignored (available for 2D "
-                  "TensorDesc only).");
+      mlir::emitWarning(getLoc())
+          << "Invalid Packed Attr. It is ignored (available for 2D "
+             "TensorDesc only).";
     }
   }
 



More information about the Mlir-commits mailing list