Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:43:51

0001 //===---- OrcRTBridge.h -- Utils for interacting with orc-rt ----*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // Declares types and symbol names provided by the ORC runtime.
0010 //
0011 //===----------------------------------------------------------------------===//
0012 
0013 #ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_ORCRTBRIDGE_H
0014 #define LLVM_EXECUTIONENGINE_ORC_SHARED_ORCRTBRIDGE_H
0015 
0016 #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
0017 #include "llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h"
0018 #include "llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h"
0019 #include "llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h"
0020 
0021 namespace llvm {
0022 namespace orc {
0023 namespace rt {
0024 
0025 extern const char *SimpleExecutorDylibManagerInstanceName;
0026 extern const char *SimpleExecutorDylibManagerOpenWrapperName;
0027 extern const char *SimpleExecutorDylibManagerLookupWrapperName;
0028 
0029 extern const char *SimpleExecutorMemoryManagerInstanceName;
0030 extern const char *SimpleExecutorMemoryManagerReserveWrapperName;
0031 extern const char *SimpleExecutorMemoryManagerFinalizeWrapperName;
0032 extern const char *SimpleExecutorMemoryManagerDeallocateWrapperName;
0033 
0034 extern const char *ExecutorSharedMemoryMapperServiceInstanceName;
0035 extern const char *ExecutorSharedMemoryMapperServiceReserveWrapperName;
0036 extern const char *ExecutorSharedMemoryMapperServiceInitializeWrapperName;
0037 extern const char *ExecutorSharedMemoryMapperServiceDeinitializeWrapperName;
0038 extern const char *ExecutorSharedMemoryMapperServiceReleaseWrapperName;
0039 
0040 extern const char *MemoryWriteUInt8sWrapperName;
0041 extern const char *MemoryWriteUInt16sWrapperName;
0042 extern const char *MemoryWriteUInt32sWrapperName;
0043 extern const char *MemoryWriteUInt64sWrapperName;
0044 extern const char *MemoryWriteBuffersWrapperName;
0045 extern const char *MemoryWritePointersWrapperName;
0046 
0047 extern const char *RegisterEHFrameSectionWrapperName;
0048 extern const char *DeregisterEHFrameSectionWrapperName;
0049 
0050 extern const char *RunAsMainWrapperName;
0051 extern const char *RunAsVoidFunctionWrapperName;
0052 extern const char *RunAsIntFunctionWrapperName;
0053 
0054 using SPSSimpleExecutorDylibManagerOpenSignature =
0055     shared::SPSExpected<shared::SPSExecutorAddr>(shared::SPSExecutorAddr,
0056                                                  shared::SPSString, uint64_t);
0057 
0058 using SPSSimpleExecutorDylibManagerLookupSignature =
0059     shared::SPSExpected<shared::SPSSequence<shared::SPSExecutorSymbolDef>>(
0060         shared::SPSExecutorAddr, shared::SPSExecutorAddr,
0061         shared::SPSRemoteSymbolLookupSet);
0062 
0063 using SPSSimpleExecutorMemoryManagerReserveSignature =
0064     shared::SPSExpected<shared::SPSExecutorAddr>(shared::SPSExecutorAddr,
0065                                                  uint64_t);
0066 using SPSSimpleExecutorMemoryManagerFinalizeSignature =
0067     shared::SPSError(shared::SPSExecutorAddr, shared::SPSFinalizeRequest);
0068 using SPSSimpleExecutorMemoryManagerDeallocateSignature = shared::SPSError(
0069     shared::SPSExecutorAddr, shared::SPSSequence<shared::SPSExecutorAddr>);
0070 
0071 // ExecutorSharedMemoryMapperService
0072 using SPSExecutorSharedMemoryMapperServiceReserveSignature =
0073     shared::SPSExpected<
0074         shared::SPSTuple<shared::SPSExecutorAddr, shared::SPSString>>(
0075         shared::SPSExecutorAddr, uint64_t);
0076 using SPSExecutorSharedMemoryMapperServiceInitializeSignature =
0077     shared::SPSExpected<shared::SPSExecutorAddr>(
0078         shared::SPSExecutorAddr, shared::SPSExecutorAddr,
0079         shared::SPSSharedMemoryFinalizeRequest);
0080 using SPSExecutorSharedMemoryMapperServiceDeinitializeSignature =
0081     shared::SPSError(shared::SPSExecutorAddr,
0082                      shared::SPSSequence<shared::SPSExecutorAddr>);
0083 using SPSExecutorSharedMemoryMapperServiceReleaseSignature = shared::SPSError(
0084     shared::SPSExecutorAddr, shared::SPSSequence<shared::SPSExecutorAddr>);
0085 
0086 using SPSRunAsMainSignature = int64_t(shared::SPSExecutorAddr,
0087                                       shared::SPSSequence<shared::SPSString>);
0088 using SPSRunAsVoidFunctionSignature = int32_t(shared::SPSExecutorAddr);
0089 using SPSRunAsIntFunctionSignature = int32_t(shared::SPSExecutorAddr, int32_t);
0090 } // end namespace rt
0091 
0092 namespace rt_alt {
0093 extern const char *UnwindInfoManagerRegisterActionName;
0094 extern const char *UnwindInfoManagerDeregisterActionName;
0095 } // end namespace rt_alt
0096 } // end namespace orc
0097 } // end namespace llvm
0098 
0099 #endif // LLVM_EXECUTIONENGINE_ORC_SHARED_ORCRTBRIDGE_H