[Mlir-commits] [mlir] [mlir][bufferization] Return early in aliasing analysis (PR #173529)
Suriyaa MM
llvmlistbot at llvm.org
Thu Dec 25 03:54:45 PST 2025
https://github.com/SuriyaaMM updated https://github.com/llvm/llvm-project/pull/173529
>From d79579797f3fea433dd3943ec7b8e7e7a7404dd9 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] Error out instead of crashing on
functions without func.return
---
.../Bufferization/Transforms/OneShotModuleBufferize.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp b/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
index c233e24c2a151..fab45dfca125f 100644
--- a/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
+++ b/mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
@@ -136,7 +136,11 @@ aliasingFuncOpBBArgsAnalysis(FuncOp funcOp, OneShotAnalysisState &state,
// Find all func.return ops.
SmallVector<func::ReturnOp> returnOps = getReturnOps(funcOp);
- assert(!returnOps.empty() && "expected at least one ReturnOp");
+ // TODO: throw error when there is any non-func.return op that has the
+ // ReturnLike trait
+ if (returnOps.empty()) {
+ return funcOp.emitError("cannot bufferize func.func without func.return");
+ }
// Build alias sets. Merge all aliases from all func.return ops.
for (BlockArgument bbArg : funcOp.getArguments()) {
More information about the Mlir-commits
mailing list