LLVM: include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGER_H
19#define LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGER_H
20
25
26namespace llvm {
27namespace orc {
28
30
32public:
33
39
40
41
44
45
46
48 : EPC(EPC), SAs(SAs) {}
49
50
52
53
56 std::promise<MSVCPExpectedtpctypes::LookupResult> RP;
57 auto RF = RP.get_future();
58 lookupAsync(H, Lookup, [&RP](auto R) { RP.set_value(std::move(R)); });
59 return RF.get();
60 }
61
62
65 std::promise<MSVCPExpectedtpctypes::LookupResult> RP;
66 auto RF = RP.get_future();
67 lookupAsync(H, Lookup, [&RP](auto R) { RP.set_value(std::move(R)); });
68 return RF.get();
69 }
70
73
74
78
79
83
84private:
87};
88
89}
90}
91
92#endif
static cl::opt< RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode > Mode("regalloc-enable-advisor", cl::Hidden, cl::init(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default), cl::desc("Enable regalloc advisor mode"), cl::values(clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Default, "default", "Default"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Release, "release", "precompiled"), clEnumValN(RegAllocEvictionAdvisorAnalysisLegacy::AdvisorMode::Development, "development", "for training")))
static int Lookup(ArrayRef< TableEntry > Table, unsigned Opcode)
Tagged union holding either a T or a Error.
StringRef - Represent a constant reference to a string, i.e.
static LLVM_ABI Expected< EPCGenericDylibManager > CreateWithDefaultBootstrapSymbols(ExecutorProcessControl &EPC)
Create an EPCGenericMemoryAccess instance from a given set of function addrs.
Expected< tpctypes::LookupResult > lookup(tpctypes::DylibHandle H, const RemoteSymbolLookupSet &Lookup)
Looks up symbols within the given dylib.
Definition EPCGenericDylibManager.h:63
LLVM_ABI void lookupAsync(tpctypes::DylibHandle H, const SymbolLookupSet &Lookup, SymbolLookupCompleteFn Complete)
Looks up symbols within the given dylib.
Expected< tpctypes::LookupResult > lookup(tpctypes::DylibHandle H, const SymbolLookupSet &Lookup)
Looks up symbols within the given dylib.
Definition EPCGenericDylibManager.h:54
LLVM_ABI Expected< tpctypes::DylibHandle > open(StringRef Path, uint64_t Mode)
Loads the dylib with the given name.
EPCGenericDylibManager(ExecutorProcessControl &EPC, SymbolAddrs SAs)
Create an EPCGenericMemoryAccess instance from a given set of function addrs.
Definition EPCGenericDylibManager.h:47
unique_function< void(Expected< tpctypes::LookupResult >)> SymbolLookupCompleteFn
Definition EPCGenericDylibManager.h:71
Represents an address in the executor process.
ExecutorProcessControl supports interaction with a JIT target process.
A set of symbols to look up, each associated with a SymbolLookupFlags value.
unique_function is a type-erasing functor similar to std::function.
ExecutorAddr DylibHandle
A handle used to represent a loaded dylib in the target process.
std::vector< RemoteSymbolLookupSetElement > RemoteSymbolLookupSet
This is an optimization pass for GlobalISel generic memory operations.
Function addresses for memory access.
Definition EPCGenericDylibManager.h:34
ExecutorAddr Instance
Definition EPCGenericDylibManager.h:35
ExecutorAddr Resolve
Definition EPCGenericDylibManager.h:37
ExecutorAddr Open
Definition EPCGenericDylibManager.h:36