[Mlir-commits] [mlir] [mlir] fix affine-loop-fusion has a crash (#76281) (PR #76351)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sun Dec 24 19:49:41 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
@llvm/pr-subscribers-mlir-affine
Author: long.chen (lipracer)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/76351.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp (+2-1)
``````````diff
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
index 66d921b4889f59..2140ff66b1a676 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
@@ -205,7 +205,8 @@ static bool isEscapingMemref(Value memref, Block *block) {
// (e.g., call ops, alias creating ops, etc.).
return llvm::any_of(memref.getUsers(), [&](Operation *user) {
// Ignore users outside of `block`.
- if (block->getParent()->findAncestorOpInRegion(*user)->getBlock() != block)
+ auto ancestorOp = block->getParent()->findAncestorOpInRegion(*user);
+ if (!ancestorOp || ancestorOp->getBlock() != block)
return false;
return !isa<AffineMapAccessInterface>(*user);
});
``````````
</details>
https://github.com/llvm/llvm-project/pull/76351
More information about the Mlir-commits
mailing list