diff options
author | Christian Sigg <csigg@google.com> | 2024-06-23 18:56:23 +0200 |
---|---|---|
committer | Christian Sigg <csigg@google.com> | 2024-06-23 18:56:23 +0200 |
commit | 48cf6b6bbe7a22bfcd98f82dc7afd21c9decd22f (patch) | |
tree | 81331ce222e9e4ace60f3646c50d65b2b8e55a54 | |
parent | c19028f364cceb4b2111c7956dcacbc257a96fd4 (diff) | |
download | llvm-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.cpp | 10 |
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; |