[Mlir-commits] [mlir] [mlir][transform] Improve error message of tracking listener. (PR #66987)

Ingo Müller llvmlistbot at llvm.org
Thu Sep 21 06:08:07 PDT 2023


================
@@ -1444,16 +1443,20 @@ bool transform::ErrorCheckingTrackingListener::failed() const {
 }
 
 void transform::ErrorCheckingTrackingListener::notifyPayloadReplacementNotFound(
-    Operation *op, ValueRange values) {
+    Operation *op, ValueRange values, ArrayRef<Operation *> aliveUsers) {
   if (status.succeeded()) {
     status = emitSilenceableFailure(
-        getTransformOp(), "tracking listener failed to find replacement op");
+        getTransformOp(), "op was replaced but replacement was of different "
+                          "kind, invalidating alive handles");
   }
 
   status.attachNote(op->getLoc()) << "[" << errorCounter << "] replaced op";
   for (auto &&[index, value] : llvm::enumerate(values))
     status.attachNote(value.getLoc())
         << "[" << errorCounter << "] replacement value " << index;
----------------
ingomueller-net wrote:

This information could (almost) be added to the diagnostics `findReplacementOp`; however, `errorCounter` is not available there. Are we sure we need this? (There are no tests where `errorCounter > 0`.) Note that some of the diagnostics that this PR currently adds also don't report the current error count...

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


More information about the Mlir-commits mailing list