Skip to content

Commit f7300ec

Browse files
committed
Merge with main branch
1 parent 6dc3c95 commit f7300ec

File tree

6 files changed

+15
-6
lines changed

6 files changed

+15
-6
lines changed

llvm/include/llvm/ExecutionEngine/Orc/DylibManager.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#ifndef LLVM_EXECUTIONENGINE_ORC_DYLIBMANAGER_H
1414
#define LLVM_EXECUTIONENGINE_ORC_DYLIBMANAGER_H
1515

16+
#include "llvm/ExecutionEngine/Orc/Shared/AutoLoadDylibUtils.h"
1617
#include "llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h"
1718
#include "llvm/Support/Error.h"
1819
#include "llvm/Support/MSVCErrorWorkarounds.h"
@@ -60,6 +61,9 @@ class DylibManager {
6061
using SymbolLookupCompleteFn =
6162
unique_function<void(Expected<std::vector<tpctypes::LookupResult>>)>;
6263

64+
using ResolveSymbolsCompleteFn =
65+
unique_function<void(Expected<std::vector<ResolveResult>>)>;
66+
6367
/// Search for symbols in the target process.
6468
///
6569
/// The result of the lookup is a 2-dimensional array of target addresses
@@ -68,6 +72,9 @@ class DylibManager {
6872
/// symbol is not found then it be assigned a '0' value.
6973
virtual void lookupSymbolsAsync(ArrayRef<LookupRequest> Request,
7074
SymbolLookupCompleteFn F) = 0;
75+
76+
virtual void resolveSymbolsAsync(ArrayRef<SymbolLookupSet> Request,
77+
ResolveSymbolsCompleteFn F) = 0;
7178
};
7279

7380
} // end namespace llvm::orc

llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class AutoLoadDynamicLibrarySearchGenerator : public DefinitionGenerator {
104104

105105
Error
106106
tryToResolve(SymbolNameSet CandidateSyms,
107-
ExecutorProcessControl::ResolveSymbolsCompleteFn OnCompleteFn);
107+
DylibManager::ResolveSymbolsCompleteFn OnCompleteFn);
108108

109109
private:
110110
ExecutorProcessControl &EPC;

llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "llvm/ADT/StringRef.h"
1717
#include "llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h"
1818
#include "llvm/ExecutionEngine/Orc/DylibManager.h"
19-
#include "llvm/ExecutionEngine/Orc/Shared/AutoLoadDylibUtils.h"
2019
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
2120
#include "llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h"
2221
#include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"

llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,9 @@ class SimpleRemoteEPC : public ExecutorProcessControl,
122122
void lookupSymbolsAsync(ArrayRef<LookupRequest> Request,
123123
SymbolLookupCompleteFn F) override;
124124

125+
void resolveSymbolsAsync(ArrayRef<SymbolLookupSet> Request,
126+
ResolveSymbolsCompleteFn F) override;
127+
125128
using PendingCallWrapperResultsMap =
126129
DenseMap<uint64_t, IncomingWFRHandler>;
127130

llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ Error AutoLoadDynamicLibrarySearchGenerator::tryToGenerate(
172172

173173
Error AutoLoadDynamicLibrarySearchGenerator::tryToResolve(
174174
SymbolNameSet CandidateSyms,
175-
ExecutorProcessControl::ResolveSymbolsCompleteFn OnCompleteFn) {
175+
DylibManager::ResolveSymbolsCompleteFn OnCompleteFn) {
176176

177177
LLVM_DEBUG({
178178
dbgs() << "AutoLoadDynamicLibrarySearchGenerator trying to resolve "
@@ -185,7 +185,7 @@ Error AutoLoadDynamicLibrarySearchGenerator::tryToResolve(
185185
LookupSymbols.add(S, SymbolLookupFlags::WeaklyReferencedSymbol);
186186
}
187187

188-
EPC.resolveSymbolsAsync(LookupSymbols, std::move(OnCompleteFn));
188+
EPC.getDylibMgr().resolveSymbolsAsync(LookupSymbols, std::move(OnCompleteFn));
189189

190190
return Error::success();
191191
}

llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ static void
6161
resolveSymbolsAsyncHelper(EPCGenericDylibManager &DylibMgr,
6262
ArrayRef<SymbolLookupSet> Request,
6363
std::vector<ResolveResult> Result,
64-
SimpleRemoteEPC::ResolveSymbolsCompleteFn Complete) {
64+
DylibManager::ResolveSymbolsCompleteFn Complete) {
6565
if (Request.empty())
6666
return Complete(std::move(Result));
6767

@@ -93,7 +93,7 @@ void SimpleRemoteEPC::lookupSymbolsAsync(ArrayRef<LookupRequest> Request,
9393

9494
void SimpleRemoteEPC::resolveSymbolsAsync(ArrayRef<SymbolLookupSet> Request,
9595
ResolveSymbolsCompleteFn Complete) {
96-
resolveSymbolsAsyncHelper(*DylibMgr, Request, {}, std::move(Complete));
96+
resolveSymbolsAsyncHelper(*EPCDylibMgr, Request, {}, std::move(Complete));
9797
}
9898

9999
Expected<int32_t> SimpleRemoteEPC::runAsMain(ExecutorAddr MainFnAddr,

0 commit comments

Comments
 (0)