[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