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

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


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

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

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

diff --git a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
index 52162a43aeae3..b0cae2b8c5be1 100644
--- a/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
+++ b/mlir/lib/ExecutionEngine/ExecutionEngine.cpp
@@ -134,7 +134,26 @@ void ExecutionEngine::setupTargetTripleAndDataLayout(Module *llvmModule,
   llvmModule->setTargetTriple(tm->getTargetTriple());
 }
 
+static StringRef lookupBuiltinCRunnerNames(StringRef name) {
+  static const llvm::StringMap<StringRef> nameMap = {
+      {"alloc", "mlirAlloc"},
+      {"malloc", "mlirAlloc"},
+      {"aligned_alloc", "mlirAlignedAlloc"},
+      {"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