[Mlir-commits] [mlir] [mlir][bufferization] Return early in aliasing analysis (PR #173529)
Suriyaa MM
llvmlistbot at llvm.org
Wed Dec 24 23:08:53 PST 2025
https://github.com/SuriyaaMM created https://github.com/llvm/llvm-project/pull/173529
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.
>From 6e9af2eecc76c0049cbaf165540f970e11b5d530 Mon Sep 17 00:00:00 2001
From: SuriyaaMM <suriyaamm.2705 at gmail.com>
Date: Thu, 25 Dec 2025 12:30:46 +0530
Subject: [PATCH] [mlir][bufferization] Return early in aliasing analysis if no
func.return is found
---
.../Bufferization/Transforms/OneShotModuleBufferize.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
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()) {
More information about the Mlir-commits
mailing list