aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Sigg <csigg@google.com>2024-06-23 18:56:23 +0200
committerChristian Sigg <csigg@google.com>2024-06-23 18:56:23 +0200
commit48cf6b6bbe7a22bfcd98f82dc7afd21c9decd22f (patch)
tree81331ce222e9e4ace60f3646c50d65b2b8e55a54
parentc19028f364cceb4b2111c7956dcacbc257a96fd4 (diff)
downloadllvm-48cf6b6bbe7a22bfcd98f82dc7afd21c9decd22f.zip
llvm-48cf6b6bbe7a22bfcd98f82dc7afd21c9decd22f.tar.gz
llvm-48cf6b6bbe7a22bfcd98f82dc7afd21c9decd22f.tar.bz2
[mlir] Fix use-after-free introduced in a9efcbf490d9b8f46ec37062ca8653b4068000e5.
-rw-r--r--mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp10
1 files 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;