[Mlir-commits] [mlir] [mlir][bufferization] Return early in aliasing analysis (PR #173529)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Dec 24 23:09:42 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: Suriyaa MM (SuriyaaMM)
<details>
<summary>Changes</summary>
Fix for [mlir-opt crashes in OneShotModuleBufferize.cpp:139 #<!-- -->173371](https://github.com/llvm/llvm-project/issues/173371#issue-3757290676).
It just returns `success()` if there is no `func.return` op.
---
Full diff: https://github.com/llvm/llvm-project/pull/173529.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp (+4-1)
``````````diff
diff --git a/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp b/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
index c233e24c2a151..77630cf52f839 100644
--- a/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
+++ b/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
@@ -136,7 +136,10 @@ aliasingFuncOpBBArgsAnalysis(FuncOp funcOp, OneShotAnalysisState &state,
// Find all func.return ops.
SmallVector<func::ReturnOp> returnOps = getReturnOps(funcOp);
- assert(!returnOps.empty() && "expected at least one ReturnOp");
+ // Gracefully exit if no func.return ops are found.
+ if (returnOps.empty()) {
+ return success();
+ }
// Build alias sets. Merge all aliases from all func.return ops.
for (BlockArgument bbArg : funcOp.getArguments()) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/173529
More information about the Mlir-commits
mailing list