diff --git a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp --- a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp +++ b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp @@ -915,8 +915,10 @@ while (!remainingProducers.empty()) { auto nextProducer = getNextProducer(); if (failed(nextProducer)) { - return mlir::emitSilenceableFailure(containingOp->getLoc()) + auto diag = mlir::emitSilenceableFailure(getLoc()) << "could not find next producer to fuse into container"; + diag.attachNote(containingOp->getLoc()) << "containing op"; + return diag; } Operation *producerOp = *nextProducer;