LLVM 24.0.0git
EPCGenericDylibManagerSPS.h
Go to the documentation of this file.
1//===- EPCGenericDylibManagerSPS.h - SPS dylib management -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Binds EPCGenericDylibManager to the ORC runtime's SPS controller interface:
10// a ProxySpec per operation, plus factories that resolve them and construct an
11// instance.
12//
13// Each spec pairs one of EPCGenericDylibManager's proxies with its
14// controller-interface descriptor in Shared/SPSCI/NativeDylibManagerSPSCI.h,
15// which supplies the wrapper name and wire signature. The specs are public so
16// that clients can resolve the operations under non-default names, using
17// proxyInit<Spec>(&P, Name) with buildProxies.
18//
19//===----------------------------------------------------------------------===//
20
21#ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGERSPS_H
22#define LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGERSPS_H
23
28
29#include <memory>
30
31namespace llvm::orc::sps {
32
37
38/// Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager
39/// interface, resolving its symbols in the given JITDylib.
42
43/// Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager
44/// interface, resolving its symbols in the given ExecutionSession's bootstrap
45/// JITDylib.
48
49} // namespace llvm::orc::sps
50
51#endif // LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGERSPS_H
#define LLVM_ABI
Definition Compiler.h:215
Tagged union holding either a T or a Error.
Definition Error.h:485
Proxy< Expected< tpctypes::LookupResult >( ExecutorAddr, ExecutorAddr, SymbolLookupSet)> ResolveProxy
Proxy for the executor-side symbol-resolution function.
An ExecutionSession represents a running JIT program.
Definition Core.h:1111
Represents a JIT'd dynamic library.
Definition Core.h:675
ProxySpec< EPCGenericDylibManager::ResolveProxy, rt::sps_ci::DylibMgrResolve > DylibMgrResolveProxySpec
ProxySpec< EPCGenericDylibManager::OpenProxy, rt::sps_ci::DylibMgrOpen > DylibMgrOpenProxySpec
LLVM_ABI Expected< std::unique_ptr< EPCGenericDylibManager > > createEPCGenericDylibManager(JITDylib &JD)
Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager interface,...
Resolve the given lookup set within the given dylib.