LLVM
24.0.0git
include
llvm
ExecutionEngine
Orc
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 is built from the controller-interface descriptor for one of
14
// EPCGenericDylibManager's operations in
15
// Shared/SPSCI/NativeDylibManagerSPSCI.h, which supplies the wrapper name and
16
// wire signature. The specs are public so that clients can resolve the
17
// operations under non-default names, using recordProxy<Spec>(&P, Name) with
18
// lookupAndApply.
19
//
20
//===----------------------------------------------------------------------===//
21
22
#ifndef LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGERSPS_H
23
#define LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGERSPS_H
24
25
#include "
llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
"
26
#include "
llvm/ExecutionEngine/Orc/SPSProxySpec.h
"
27
#include "
llvm/ExecutionEngine/Orc/Shared/SPSCI/NativeDylibManagerSPSCI.h
"
28
#include "
llvm/Support/Compiler.h
"
29
30
#include <memory>
31
32
namespace
llvm::orc::sps
{
33
34
using
DylibMgrOpenProxySpec
=
ProxySpec<rt::sps_ci::DylibMgrOpen>
;
35
using
DylibMgrResolveProxySpec
=
ProxySpec<rt::sps_ci::DylibMgrResolve>
;
36
37
/// Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager
38
/// interface, resolving its symbols in the given JITDylib.
39
LLVM_ABI
Expected<std::unique_ptr<EPCGenericDylibManager>
>
40
createEPCGenericDylibManager
(
JITDylib
&JD);
41
42
/// Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager
43
/// interface, resolving its symbols in the given ExecutionSession's bootstrap
44
/// JITDylib.
45
LLVM_ABI
Expected<std::unique_ptr<EPCGenericDylibManager>
>
46
createEPCGenericDylibManager
(
ExecutionSession
&ES);
47
48
}
// namespace llvm::orc::sps
49
50
#endif
// LLVM_EXECUTIONENGINE_ORC_EPCGENERICDYLIBMANAGERSPS_H
Compiler.h
LLVM_ABI
#define LLVM_ABI
Definition
Compiler.h:211
EPCGenericDylibManager.h
NativeDylibManagerSPSCI.h
SPSProxySpec.h
llvm::Expected
Tagged union holding either a T or a Error.
Definition
Error.h:485
llvm::orc::ExecutionSession
An ExecutionSession represents a running JIT program.
Definition
Core.h:1097
llvm::orc::JITDylib
Represents a JIT'd dynamic library.
Definition
Core.h:668
llvm::orc::sps::ProxySpec
Dispatches proxies for the call described by CI, which must provide:
Definition
SPSProxySpec.h:37
llvm::orc::sps
Definition
CallProxiesSPS.h:22
llvm::orc::sps::DylibMgrOpenProxySpec
ProxySpec< rt::sps_ci::DylibMgrOpen > DylibMgrOpenProxySpec
Definition
EPCGenericDylibManagerSPS.h:34
llvm::orc::sps::DylibMgrResolveProxySpec
ProxySpec< rt::sps_ci::DylibMgrResolve > DylibMgrResolveProxySpec
Definition
EPCGenericDylibManagerSPS.h:35
llvm::orc::sps::createEPCGenericDylibManager
LLVM_ABI Expected< std::unique_ptr< EPCGenericDylibManager > > createEPCGenericDylibManager(JITDylib &JD)
Create an EPCGenericDylibManager for the ORC runtime's NativeDylibManager interface,...
Definition
EPCGenericDylibManagerSPS.cpp:18
Generated on
for LLVM by
1.14.0