[Mlir-commits] [mlir] [MLIR][ExecutionEngine] Don't create a `_mlir_` wrapper function for internal linkage (PR #171115)

Mehdi Amini llvmlistbot at llvm.org
Mon Dec 8 03:47:04 PST 2025


https://github.com/joker-eph created https://github.com/llvm/llvm-project/pull/171115

This is somehow NFC, we were creating wrapper for interal functions, which are de-facto not callable.

>From 64680e5f47900d8b5ce8613b49637b79502a42f1 Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Mon, 8 Dec 2025 03:44:46 -0800
Subject: [PATCH] [MLIR][ExecutionEngine] Don't create a `_mlir_` wrapper
 function for internal linkage

This is somehow NFC, we were creating wrapper for interal functions, which are de-facto
not callable.
---
 mlir/lib/ExecutionEngine/ExecutionEngine.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
index 2255633c746b3..287c52a262c11 100644
--- a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -146,12 +146,10 @@ static void packFunctionArguments(Module *module) {
   llvm::IRBuilder<> builder(ctx);
   DenseSet<llvm::Function *> interfaceFunctions;
   for (auto &func : module->getFunctionList()) {
-    if (func.isDeclaration()) {
+    if (func.isDeclaration() || func.hasLocalLinkage())
       continue;
-    }
-    if (interfaceFunctions.count(&func)) {
+    if (interfaceFunctions.count(&func))
       continue;
-    }
 
     // Given a function `foo(<...>)`, define the interface function
     // `mlir_foo(i8**)`.



More information about the Mlir-commits mailing list