From 48cf6b6bbe7a22bfcd98f82dc7afd21c9decd22f Mon Sep 17 00:00:00 2001 From: Christian Sigg Date: Sun, 23 Jun 2024 18:56:23 +0200 Subject: [mlir] Fix use-after-free introduced in a9efcbf490d9b8f46ec37062ca8653b4068000e5. --- mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp index 37467db..4ef27b1 100644 --- a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp +++ b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp @@ -2335,10 +2335,10 @@ SplitOp::apply(transform::TransformRewriter &rewriter, }; auto checkFailureInSplitting = - [&](bool hasFailed, Location loc) -> DiagnosedSilenceableFailure { + [&](bool hasFailed, Operation *op) -> DiagnosedSilenceableFailure { if (hasFailed) { auto diag = emitDefiniteFailure() << "internal failure in splitting"; - diag.attachNote(loc) << "target op"; + diag.attachNote(op->getLoc()) << "target op"; return diag; } return DiagnosedSilenceableFailure::success(); @@ -2376,7 +2376,7 @@ SplitOp::apply(transform::TransformRewriter &rewriter, // Propagate errors. DiagnosedSilenceableFailure diag = - checkFailureInSplitting(!head && !tail, target->getLoc()); + checkFailureInSplitting(!head && !tail, target); if (diag.isDefiniteFailure()) return diag; @@ -2408,8 +2408,8 @@ SplitOp::apply(transform::TransformRewriter &rewriter, getDimension(), std::get<1>(pair)); // Propagate errors. - DiagnosedSilenceableFailure diagSplit = checkFailureInSplitting( - !first.back() && !second.back(), target->getLoc()); + DiagnosedSilenceableFailure diagSplit = + checkFailureInSplitting(!first.back() && !second.back(), target); if (diagSplit.isDefiniteFailure()) return diag; -- cgit v1.1