[Mlir-commits] [mlir] [MLIR][ExecutionEngine] Restore internal _mlir_{*} symbol lookup (PR #159941)

Balint Cristian llvmlistbot at llvm.org
Sat Sep 20 12:09:08 PDT 2025


https://github.com/cbalint13 updated https://github.com/llvm/llvm-project/pull/159941

>From a342136449eacdc08547a776b7d711e119b45b7a Mon Sep 17 00:00:00 2001
From: Balint Cristian <cristian.balint at gmail.com>
Date: Sat, 20 Sep 2025 21:42:16 +0300
Subject: [PATCH] [MLIR][ExecutionEngine] Restore internal _mlir_{*} symbol
 lookup

---
 mlir/lib/ExecutionEngine/ExecutionEngine.cpp | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
index 52162a43aeae3..85775aefd1a02 100644
--- a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -134,7 +134,27 @@ void ExecutionEngine::setupTargetTripleAndDataLayout(Module *llvmModule,
   llvmModule->setTargetTriple(tm->getTargetTriple());
 }
 
+static StringRef lookupBuiltinCRunnerNames(StringRef name) {
+  static const llvm::StringMap<StringRef> nameMap = {
+      {"alloc", "mlirAlloc"},
+      {"aligned_alloc", "mlirAlignedAlloc"},
+      {"malloc", "mlirAlloc"},
+      {"free", "mlirFree"},
+      {"aligned_free", "mlirAlignedFree"}};
+
+  auto it = nameMap.find(name);
+  if (it != nameMap.end()) {
+    return it->second;
+  }
+
+  return {};
+}
+
 static std::string makePackedFunctionName(StringRef name) {
+  auto cfuncName = lookupBuiltinCRunnerNames(name);
+  if (!cfuncName.empty())
+    return cfuncName.str();
+
   return "_mlir_" + name.str();
 }
 



More information about the Mlir-commits mailing list