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 @@ -123,7 +123,8 @@ FailureOr tiledResults = applyFn(tilingInterfaceOp); if (failed(tiledResults)) - return failure(); + return rewriter.notifyMatchFailure(transformOp, + "unable to tile operation"); // Perform the replacement of tiled and fused values. SmallVector opsToReplace{target}; @@ -1804,7 +1805,7 @@ PatternRewriter &rewriter) const override { LinalgOp linalgOp = dyn_cast(op); if (!linalgOp) - return failure(); + return rewriter.notifyMatchFailure(op, "expected Linalg Op"); return vectorize(rewriter, linalgOp); } };