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