[Mlir-commits] [mlir] [mlir][linalg] fix segmentation fault in isContractionBody function (PR #108703)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Sep 14 08:09:25 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: xiaohui1.xu (BRUCE11111)
<details>
<summary>Changes</summary>
Fix Segmentation Fault in function.
`getDefiningOp()` may return `nullptr` pointer.
---
Full diff: https://github.com/llvm/llvm-project/pull/108703.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp (+1-1)
``````````diff
diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
index 0c48a5aeb26a26..0b5191664a9e2f 100644
--- a/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
+++ b/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
@@ -222,7 +222,7 @@ bool mlir::linalg::detail::isContractionBody(
Value contributed = getSourceSkipUnary(
isa<BlockArgument>(reductionLHS) ? reductionRHS : reductionLHS);
Operation *elementwiseOp = contributed.getDefiningOp();
- if (elementwiseOp->getNumResults() != 1 ||
+ if (!elementwiseOp || elementwiseOp->getNumResults() != 1 ||
elementwiseOp->getNumOperands() != 2) {
errs << "expected elementwise op to be binary";
return false;
``````````
</details>
https://github.com/llvm/llvm-project/pull/108703
More information about the Mlir-commits
mailing list