[Mlir-commits] [mlir] d5d49b8 - [mlir][bufferization] Return early in aliasing analysis (#173529)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Dec 26 04:12:09 PST 2025


Author: Suriyaa MM
Date: 2025-12-26T12:12:05Z
New Revision: d5d49b8d737bdf7723c1de6899da83c46c2db5ab

URL: https://github.com/llvm/llvm-project/commit/d5d49b8d737bdf7723c1de6899da83c46c2db5ab
DIFF: https://github.com/llvm/llvm-project/commit/d5d49b8d737bdf7723c1de6899da83c46c2db5ab.diff

LOG: [mlir][bufferization] Return early in aliasing analysis  (#173529)

Fix for [mlir-opt crashes in OneShotModuleBufferize.cpp:139
#173371](https://github.com/llvm/llvm-project/issues/173371#issue-3757290676).

It just returns `failure()` if there is no `func.return` op.

Added: 
    

Modified: 
    mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp

Removed: 
    


################################################################################
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