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 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**)`.