[llvm] bcf0093 - [ORC] Move simple lookupAndRecordAddrs uses to lookupAndApply (#217509)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 19 21:25:55 PDT 2026
Author: Lang Hames
Date: 2026-08-20T14:25:49+10:00
New Revision: bcf0093e044c383d7bc882ed0de8f7b559e0aea6
URL: https://github.com/llvm/llvm-project/commit/bcf0093e044c383d7bc882ed0de8f7b559e0aea6
DIFF: https://github.com/llvm/llvm-project/commit/bcf0093e044c383d7bc882ed0de8f7b559e0aea6.diff
LOG: [ORC] Move simple lookupAndRecordAddrs uses to lookupAndApply (#217509)
Mechanical conversions in ReOptimizeLayer, PerfSupportPlugin,
COFFVCRuntimeSupport and COFFPlatform::bootstrapCOFFRuntime: each (name,
ExecutorAddr *) pair becomes a recordAddr.
NFCI.
Added:
Modified:
llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
Removed:
################################################################################
diff --git a/llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp b/llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
index ff342cb03ddf7..a59f72cb43525 100644
--- a/llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
@@ -683,22 +683,19 @@ Error COFFPlatform::runBootstrapSubsectionInitializers(JDBootstrapState &BState,
Error COFFPlatform::bootstrapCOFFRuntime(JITDylib &PlatformJD) {
// Lookup of runtime symbols causes the collection of initializers if
// it's static linking setting.
- if (auto Err = lookupAndRecordAddrs(
- ES, LookupKind::Static, makeJITDylibSearchOrder(&PlatformJD),
- {
- {ES.intern("__orc_rt_coff_platform_bootstrap"),
- &orc_rt_coff_platform_bootstrap},
- {ES.intern("__orc_rt_coff_platform_shutdown"),
- &orc_rt_coff_platform_shutdown},
- {ES.intern("__orc_rt_coff_register_jitdylib"),
- &orc_rt_coff_register_jitdylib},
- {ES.intern("__orc_rt_coff_deregister_jitdylib"),
- &orc_rt_coff_deregister_jitdylib},
- {ES.intern("__orc_rt_coff_register_object_sections"),
- &orc_rt_coff_register_object_sections},
- {ES.intern("__orc_rt_coff_deregister_object_sections"),
- &orc_rt_coff_deregister_object_sections},
- }))
+ if (auto Err = lookupAndApply(
+ PlatformJD, {recordAddr("__orc_rt_coff_platform_bootstrap",
+ &orc_rt_coff_platform_bootstrap),
+ recordAddr("__orc_rt_coff_platform_shutdown",
+ &orc_rt_coff_platform_shutdown),
+ recordAddr("__orc_rt_coff_register_jitdylib",
+ &orc_rt_coff_register_jitdylib),
+ recordAddr("__orc_rt_coff_deregister_jitdylib",
+ &orc_rt_coff_deregister_jitdylib),
+ recordAddr("__orc_rt_coff_register_object_sections",
+ &orc_rt_coff_register_object_sections),
+ recordAddr("__orc_rt_coff_deregister_object_sections",
+ &orc_rt_coff_deregister_object_sections)}))
return Err;
// Call bootstrap functions
diff --git a/llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp b/llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
index 08159e5647b81..1293004747b59 100644
--- a/llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
@@ -12,7 +12,6 @@
#include "llvm/ExecutionEngine/Orc/CallProxiesSPS.h"
#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h"
#include "llvm/ExecutionEngine/Orc/LookupAndApply.h"
-#include "llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h"
#include "llvm/ExecutionEngine/Orc/RecordProxy.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/WindowsDriver/MSVCPaths.h"
@@ -115,15 +114,14 @@ Error COFFVCRuntimeBootstrapper::initializeStaticVCRuntime(JITDylib &JD) {
ExecutorAddr jit_scrt_initialize, jit_scrt_dllmain_before_initialize_c,
jit_scrt_initialize_type_info,
jit_scrt_initialize_default_local_stdio_options;
- if (auto Err = lookupAndRecordAddrs(
- ES, LookupKind::Static, makeJITDylibSearchOrder(&JD),
- {{ES.intern("__scrt_initialize_crt"), &jit_scrt_initialize},
- {ES.intern("__scrt_dllmain_before_initialize_c"),
- &jit_scrt_dllmain_before_initialize_c},
- {ES.intern("?__scrt_initialize_type_info@@YAXXZ"),
- &jit_scrt_initialize_type_info},
- {ES.intern("__scrt_initialize_default_local_stdio_options"),
- &jit_scrt_initialize_default_local_stdio_options}}))
+ if (auto Err = lookupAndApply(
+ JD, {recordAddr("__scrt_initialize_crt", &jit_scrt_initialize),
+ recordAddr("__scrt_dllmain_before_initialize_c",
+ &jit_scrt_dllmain_before_initialize_c),
+ recordAddr("?__scrt_initialize_type_info@@YAXXZ",
+ &jit_scrt_initialize_type_info),
+ recordAddr("__scrt_initialize_default_local_stdio_options",
+ &jit_scrt_initialize_default_local_stdio_options)}))
return Err;
CallInt32VoidProxy CallInt32Void;
diff --git a/llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp b/llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
index bc5b3bb538e39..e52c5dabbcf7e 100644
--- a/llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
@@ -13,7 +13,7 @@
#include "llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h"
#include "llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h"
-#include "llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h"
+#include "llvm/ExecutionEngine/Orc/LookupAndApply.h"
#include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"
#define DEBUG_TYPE "orc"
@@ -289,13 +289,11 @@ PerfSupportPlugin::Create(ExecutorProcessControl &EPC, JITDylib &JD,
"Perf support only available for ELF LinkGraphs!",
inconvertibleErrorCode());
}
- auto &ES = EPC.getExecutionSession();
ExecutorAddr StartAddr, EndAddr, ImplAddr;
- if (auto Err = lookupAndRecordAddrs(
- ES, LookupKind::Static, makeJITDylibSearchOrder({&JD}),
- {{ES.intern(RegisterPerfStartSymbolName), &StartAddr},
- {ES.intern(RegisterPerfEndSymbolName), &EndAddr},
- {ES.intern(RegisterPerfImplSymbolName), &ImplAddr}}))
+ if (auto Err = lookupAndApply(
+ JD, {recordAddr(RegisterPerfStartSymbolName, &StartAddr),
+ recordAddr(RegisterPerfEndSymbolName, &EndAddr),
+ recordAddr(RegisterPerfImplSymbolName, &ImplAddr)}))
return std::move(Err);
return std::make_unique<PerfSupportPlugin>(EPC, StartAddr, EndAddr, ImplAddr,
EmitDebugInfo, EmitUnwindInfo);
diff --git a/llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp b/llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
index 7e592674beecd..9348e2acf527c 100644
--- a/llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
@@ -1,5 +1,5 @@
#include "llvm/ExecutionEngine/Orc/ReOptimizeLayer.h"
-#include "llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h"
+#include "llvm/ExecutionEngine/Orc/LookupAndApply.h"
#include "llvm/ExecutionEngine/Orc/Mangling.h"
#include "llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h"
@@ -96,11 +96,10 @@ Error ReOptimizeLayer::addOrcRTLiteSupport(JITDylib &PlatformJD,
Builder.SetInsertPoint(Entry);
ExecutorAddr JITDispatchSym, JITDispatchCtxSym;
- if (auto Err = lookupAndRecordAddrs(
- ES, LookupKind::Static,
- makeJITDylibSearchOrder(&ES.getBootstrapJITDylib()),
- {{ES.intern(rt::DispatchName), &JITDispatchSym},
- {ES.intern(rt::DispatchCtxName), &JITDispatchCtxSym}}))
+ if (auto Err =
+ lookupAndApply(ES.getBootstrapJITDylib(),
+ {recordAddr(rt::DispatchName, &JITDispatchSym),
+ recordAddr(rt::DispatchCtxName, &JITDispatchCtxSym)}))
return Err;
Type *IntPtrTy = DL.getIntPtrType(*Ctx);
More information about the llvm-commits
mailing list