Project Alice
Loading...
Searching...
No Matches
Orc.h
Go to the documentation of this file.
1/*===---------------- llvm-c/Orc.h - OrcV2 C bindings -----------*- C++ -*-===*\
2|* *|
3|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
4|* Exceptions. *|
5|* See https://llvm.org/LICENSE.txt for license information. *|
6|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
7|* *|
8|*===----------------------------------------------------------------------===*|
9|* *|
10|* This header declares the C interface to libLLVMOrcJIT.a, which implements *|
11|* JIT compilation of LLVM IR. Minimal documentation of C API specific issues *|
12|* (especially memory ownership rules) is provided. Core Orc concepts are *|
13|* documented in llvm/docs/ORCv2.rst and APIs are documented in the C++ *|
14|* headers *|
15|* *|
16|* Many exotic languages can interoperate with C code but have a harder time *|
17|* with C++ due to name mangling. So in addition to C, this interface enables *|
18|* tools written in such languages. *|
19|* *|
20|* Note: This interface is experimental. It is *NOT* stable, and may be *|
21|* changed without warning. Only C API usage documentation is *|
22|* provided. See the C++ documentation for all higher level ORC API *|
23|* details. *|
24|* *|
25\*===----------------------------------------------------------------------===*/
26
27#ifndef LLVM_C_ORC_H
28#define LLVM_C_ORC_H
29
30#include "llvm-c/Error.h"
32#include "llvm-c/Types.h"
33
35
47
52
56typedef enum {
63
68
72typedef struct {
76
80typedef struct {
84
88typedef struct LLVMOrcOpaqueExecutionSession *LLVMOrcExecutionSessionRef;
89
93typedef void (*LLVMOrcErrorReporterFunction)(void *Ctx, LLVMErrorRef Err);
94
98typedef struct LLVMOrcOpaqueSymbolStringPool *LLVMOrcSymbolStringPoolRef;
99
103typedef struct LLVMOrcOpaqueSymbolStringPoolEntry
105
109typedef struct {
113
119
123typedef struct {
127
133
137typedef struct {
141
145typedef struct {
149
155
159typedef struct LLVMOrcOpaqueJITDylib *LLVMOrcJITDylibRef;
160
165typedef struct {
167 size_t Length;
169
173typedef struct {
177
183
190typedef enum {
194
201typedef enum {
205
209typedef struct {
213
221
226typedef enum {
230
234typedef struct {
238
251
255typedef struct LLVMOrcOpaqueMaterializationUnit *LLVMOrcMaterializationUnitRef;
256
262typedef struct LLVMOrcOpaqueMaterializationResponsibility
264
277
286
295
299typedef struct LLVMOrcOpaqueResourceTracker *LLVMOrcResourceTrackerRef;
300
304typedef struct LLVMOrcOpaqueDefinitionGenerator
306
319typedef struct LLVMOrcOpaqueLookupState *LLVMOrcLookupStateRef;
320
355 LLVMOrcDefinitionGeneratorRef GeneratorObj, void *Ctx,
356 LLVMOrcLookupStateRef *LookupState, LLVMOrcLookupKind Kind,
358 LLVMOrcCLookupSet LookupSet, size_t LookupSetSize);
359
367
371typedef int (*LLVMOrcSymbolPredicate)(void *Ctx,
373
377typedef struct LLVMOrcOpaqueThreadSafeContext *LLVMOrcThreadSafeContextRef;
378
382typedef struct LLVMOrcOpaqueThreadSafeModule *LLVMOrcThreadSafeModuleRef;
383
389 void *Ctx, LLVMModuleRef M);
390
394typedef struct LLVMOrcOpaqueJITTargetMachineBuilder
396
400typedef struct LLVMOrcOpaqueObjectLayer *LLVMOrcObjectLayerRef;
401
405typedef struct LLVMOrcOpaqueObjectLinkingLayer *LLVMOrcObjectLinkingLayerRef;
406
410typedef struct LLVMOrcOpaqueIRTransformLayer *LLVMOrcIRTransformLayerRef;
411
428 void *Ctx, LLVMOrcThreadSafeModuleRef *ModInOut,
430
434typedef struct LLVMOrcOpaqueObjectTransformLayer
436
451 void *Ctx, LLVMMemoryBufferRef *ObjInOut);
452
456typedef struct LLVMOrcOpaqueIndirectStubsManager
458
462typedef struct LLVMOrcOpaqueLazyCallThroughManager
464
471typedef struct LLVMOrcOpaqueDumpObjects *LLVMOrcDumpObjectsRef;
472
484 void *Ctx);
485
494
506
521
537 LLVMErrorRef Err, LLVMOrcCSymbolMapPairs Result, size_t NumPairs,
538 void *Ctx);
539
570 LLVMOrcCJITDylibSearchOrder SearchOrder, size_t SearchOrderSize,
571 LLVMOrcCLookupSet Symbols, size_t SymbolsSize,
573
578
583
590
595
602
608
615
620
655 const char *Name, void *Ctx, LLVMOrcCSymbolFlagsMapPairs Syms,
656 size_t NumSyms, LLVMOrcSymbolStringPoolEntryRef InitSym,
660
684
708 LLVMOrcJITDylibRef SourceRef, LLVMOrcCSymbolAliasMapPairs CallableAliases,
709 size_t NumPairs);
710// TODO: ImplSymbolMad SrcJDLoc
711
723
729
736
748 LLVMOrcMaterializationResponsibilityRef MR, size_t *NumPairs);
749
756
768
777 LLVMOrcMaterializationResponsibilityRef MR, size_t *NumSymbols);
778
785
804 size_t NumPairs);
805
821
837 LLVMOrcCSymbolFlagsMapPairs Pairs, size_t NumPairs);
838
848
859
870 LLVMOrcSymbolStringPoolEntryRef *Symbols, size_t NumSymbols,
872
894 LLVMOrcCDependenceMapPairs Dependencies, size_t NumPairs);
895
903 LLVMOrcCDependenceMapPairs Dependencies, size_t NumPairs);
904
916 const char *Name);
917
932 LLVMOrcJITDylibRef *Result,
933 const char *Name);
934
941 const char *Name);
942
950
958
968
974
983
1000
1006 LLVMErrorRef Err);
1007
1027 LLVMOrcDefinitionGeneratorRef *Result, char GlobalPrefx,
1028 LLVMOrcSymbolPredicate Filter, void *FilterCtx);
1029
1052 LLVMOrcDefinitionGeneratorRef *Result, const char *FileName,
1053 char GlobalPrefix, LLVMOrcSymbolPredicate Filter, void *FilterCtx);
1054
1071 const char *FileName, const char *TargetTriple);
1072
1082
1088
1093
1107
1114
1121 void *Ctx);
1122
1133
1145
1151
1160
1166 LLVMOrcJITTargetMachineBuilderRef JTMB, const char *TargetTriple);
1167
1181 LLVMMemoryBufferRef ObjBuffer);
1182
1197 LLVMMemoryBufferRef ObjBuffer);
1198
1207 LLVMMemoryBufferRef ObjBuffer);
1208
1213
1217
1223 LLVMOrcIRTransformLayerRef IRTransformLayer,
1224 LLVMOrcIRTransformLayerTransformFunction TransformFunction, void *Ctx);
1225
1230 LLVMOrcObjectTransformLayerRef ObjTransformLayer,
1231 LLVMOrcObjectTransformLayerTransformFunction TransformFunction, void *Ctx);
1232
1241
1246
1248 const char *TargetTriple, LLVMOrcExecutionSessionRef ES,
1249 LLVMOrcJITTargetAddress ErrorHandlerAddr,
1251
1257
1273 const char *IdentifierOverride);
1274
1279
1284 LLVMMemoryBufferRef *ObjBuffer);
1285
1291
1292#endif /* LLVM_C_ORC_H */
#define LLVM_C_EXTERN_C_BEGIN
Definition: ExternC.h:35
#define LLVM_C_EXTERN_C_END
Definition: ExternC.h:36
struct LLVMOpaqueError * LLVMErrorRef
Definition: Error.h:33
uint64_t LLVMOrcJITTargetAddress
Definition: Orc.h:46
void LLVMOrcDisposeMaterializationResponsibility(LLVMOrcMaterializationResponsibilityRef MR)
LLVMErrorRef(* LLVMOrcGenericIRModuleOperationFunction)(void *Ctx, LLVMModuleRef M)
Definition: Orc.h:388
LLVMOrcSymbolStringPoolRef LLVMOrcExecutionSessionGetSymbolStringPool(LLVMOrcExecutionSessionRef ES)
void LLVMOrcSymbolStringPoolClearDeadEntries(LLVMOrcSymbolStringPoolRef SSP)
LLVMOrcLookupKind
Definition: Orc.h:190
void LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPairs Pairs)
LLVMOrcSymbolStringPoolEntryRef * LLVMOrcMaterializationResponsibilityGetRequestedSymbols(LLVMOrcMaterializationResponsibilityRef MR, size_t *NumSymbols)
LLVMOrcJITDylibRef LLVMOrcMaterializationResponsibilityGetTargetDylib(LLVMOrcMaterializationResponsibilityRef MR)
LLVMErrorRef LLVMOrcObjectLayerAddObjectFileWithRT(LLVMOrcObjectLayerRef ObjLayer, LLVMOrcResourceTrackerRef RT, LLVMMemoryBufferRef ObjBuffer)
LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols(LLVMOrcMaterializationResponsibilityRef MR, size_t *NumPairs)
uint8_t LLVMJITSymbolTargetFlags
Definition: Orc.h:67
LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager(const char *TargetTriple, LLVMOrcExecutionSessionRef ES, LLVMOrcJITTargetAddress ErrorHandlerAddr, LLVMOrcLazyCallThroughManagerRef *LCTM)
void LLVMOrcDisposeMaterializationUnit(LLVMOrcMaterializationUnitRef MU)
LLVMErrorRef LLVMOrcThreadSafeModuleWithModuleDo(LLVMOrcThreadSafeModuleRef TSM, LLVMOrcGenericIRModuleOperationFunction F, void *Ctx)
LLVMOrcMaterializationUnitRef LLVMOrcCreateCustomMaterializationUnit(const char *Name, void *Ctx, LLVMOrcCSymbolFlagsMapPairs Syms, size_t NumSyms, LLVMOrcSymbolStringPoolEntryRef InitSym, LLVMOrcMaterializationUnitMaterializeFunction Materialize, LLVMOrcMaterializationUnitDiscardFunction Discard, LLVMOrcMaterializationUnitDestroyFunction Destroy)
struct LLVMOrcOpaqueObjectTransformLayer * LLVMOrcObjectTransformLayerRef
Definition: Orc.h:434
LLVMOrcExecutionSessionRef LLVMOrcMaterializationResponsibilityGetExecutionSession(LLVMOrcMaterializationResponsibilityRef MR)
void LLVMOrcIRTransformLayerEmit(LLVMOrcIRTransformLayerRef IRTransformLayer, LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcThreadSafeModuleRef TSM)
LLVMErrorRef LLVMOrcMaterializationResponsibilityReplace(LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcMaterializationUnitRef MU)
LLVMOrcResourceTrackerRef LLVMOrcJITDylibCreateResourceTracker(LLVMOrcJITDylibRef JD)
LLVMErrorRef(* LLVMOrcObjectTransformLayerTransformFunction)(void *Ctx, LLVMMemoryBufferRef *ObjInOut)
Definition: Orc.h:450
LLVMOrcCSymbolFlagsMapPair * LLVMOrcCSymbolFlagsMapPairs
Definition: Orc.h:118
LLVMOrcMaterializationUnitRef LLVMOrcAbsoluteSymbols(LLVMOrcCSymbolMapPairs Syms, size_t NumPairs)
LLVMOrcThreadSafeModuleRef LLVMOrcCreateNewThreadSafeModule(LLVMModuleRef M, LLVMOrcThreadSafeContextRef TSCtx)
LLVMErrorRef LLVMOrcResourceTrackerRemove(LLVMOrcResourceTrackerRef RT)
void LLVMOrcDisposeObjectLayer(LLVMOrcObjectLayerRef ObjLayer)
void LLVMOrcDisposeThreadSafeModule(LLVMOrcThreadSafeModuleRef TSM)
void LLVMOrcObjectTransformLayerSetTransform(LLVMOrcObjectTransformLayerRef ObjTransformLayer, LLVMOrcObjectTransformLayerTransformFunction TransformFunction, void *Ctx)
void LLVMOrcMaterializationResponsibilityAddDependenciesForAll(LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCDependenceMapPairs Dependencies, size_t NumPairs)
struct LLVMOrcOpaqueObjectLinkingLayer * LLVMOrcObjectLinkingLayerRef
Definition: Orc.h:405
LLVMOrcCSymbolAliasMapPair * LLVMOrcCSymbolAliasMapPairs
Definition: Orc.h:154
LLVMOrcCSymbolMapPair * LLVMOrcCSymbolMapPairs
Definition: Orc.h:132
struct LLVMOrcOpaqueJITTargetMachineBuilder * LLVMOrcJITTargetMachineBuilderRef
Definition: Orc.h:394
void LLVMOrcExecutionSessionLookup(LLVMOrcExecutionSessionRef ES, LLVMOrcLookupKind K, LLVMOrcCJITDylibSearchOrder SearchOrder, size_t SearchOrderSize, LLVMOrcCLookupSet Symbols, size_t SymbolsSize, LLVMOrcExecutionSessionLookupHandleResultFunction HandleResult, void *Ctx)
void LLVMOrcDisposeDefinitionGenerator(LLVMOrcDefinitionGeneratorRef DG)
void(* LLVMOrcErrorReporterFunction)(void *Ctx, LLVMErrorRef Err)
Definition: Orc.h:93
LLVMErrorRef LLVMOrcJITTargetMachineBuilderDetectHost(LLVMOrcJITTargetMachineBuilderRef *Result)
struct LLVMOrcOpaqueMaterializationResponsibility * LLVMOrcMaterializationResponsibilityRef
Definition: Orc.h:262
LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyEmitted(LLVMOrcMaterializationResponsibilityRef MR)
void(* LLVMOrcDisposeCAPIDefinitionGeneratorFunction)(void *Ctx)
Definition: Orc.h:366
struct LLVMOrcOpaqueThreadSafeModule * LLVMOrcThreadSafeModuleRef
Definition: Orc.h:382
LLVMOrcResourceTrackerRef LLVMOrcJITDylibGetDefaultResourceTracker(LLVMOrcJITDylibRef JD)
struct LLVMOrcOpaqueExecutionSession * LLVMOrcExecutionSessionRef
Definition: Orc.h:88
LLVMOrcSymbolStringPoolEntryRef LLVMOrcMaterializationResponsibilityGetInitializerSymbol(LLVMOrcMaterializationResponsibilityRef MR)
struct LLVMOrcOpaqueIndirectStubsManager * LLVMOrcIndirectStubsManagerRef
Definition: Orc.h:456
void(* LLVMOrcExecutionSessionLookupHandleResultFunction)(LLVMErrorRef Err, LLVMOrcCSymbolMapPairs Result, size_t NumPairs, void *Ctx)
Definition: Orc.h:536
LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(LLVMOrcDefinitionGeneratorRef *Result, const char *FileName, char GlobalPrefix, LLVMOrcSymbolPredicate Filter, void *FilterCtx)
void LLVMOrcLookupStateContinueLookup(LLVMOrcLookupStateRef S, LLVMErrorRef Err)
LLVMErrorRef(* LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction)(LLVMOrcDefinitionGeneratorRef GeneratorObj, void *Ctx, LLVMOrcLookupStateRef *LookupState, LLVMOrcLookupKind Kind, LLVMOrcJITDylibRef JD, LLVMOrcJITDylibLookupFlags JDLookupFlags, LLVMOrcCLookupSet LookupSet, size_t LookupSetSize)
Definition: Orc.h:354
void LLVMOrcReleaseResourceTracker(LLVMOrcResourceTrackerRef RT)
LLVMOrcCJITDylibSearchOrderElement * LLVMOrcCJITDylibSearchOrder
Definition: Orc.h:220
void LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCtx)
LLVMErrorRef(* LLVMOrcIRTransformLayerTransformFunction)(void *Ctx, LLVMOrcThreadSafeModuleRef *ModInOut, LLVMOrcMaterializationResponsibilityRef MR)
Definition: Orc.h:427
struct LLVMOrcOpaqueSymbolStringPool * LLVMOrcSymbolStringPoolRef
Definition: Orc.h:98
void(* LLVMOrcMaterializationUnitDestroyFunction)(void *Ctx)
Definition: Orc.h:294
LLVMOrcDumpObjectsRef LLVMOrcCreateDumpObjects(const char *DumpDir, const char *IdentifierOverride)
struct LLVMOrcOpaqueResourceTracker * LLVMOrcResourceTrackerRef
Definition: Orc.h:299
void LLVMOrcObjectLayerEmit(LLVMOrcObjectLayerRef ObjLayer, LLVMOrcMaterializationResponsibilityRef R, LLVMMemoryBufferRef ObjBuffer)
void LLVMOrcExecutionSessionSetErrorReporter(LLVMOrcExecutionSessionRef ES, LLVMOrcErrorReporterFunction ReportError, void *Ctx)
void LLVMOrcRetainSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S)
LLVMOrcCDependenceMapPair * LLVMOrcCDependenceMapPairs
Definition: Orc.h:182
LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate(LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcSymbolStringPoolEntryRef *Symbols, size_t NumSymbols, LLVMOrcMaterializationResponsibilityRef *Result)
LLVMErrorRef LLVMOrcDumpObjects_CallOperator(LLVMOrcDumpObjectsRef DumpObjects, LLVMMemoryBufferRef *ObjBuffer)
uint64_t LLVMOrcExecutorAddress
Definition: Orc.h:51
LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(LLVMOrcDefinitionGeneratorRef *Result, char GlobalPrefx, LLVMOrcSymbolPredicate Filter, void *FilterCtx)
LLVMOrcIndirectStubsManagerRef LLVMOrcCreateLocalIndirectStubsManager(const char *TargetTriple)
void LLVMOrcJITTargetMachineBuilderSetTargetTriple(LLVMOrcJITTargetMachineBuilderRef JTMB, const char *TargetTriple)
void LLVMOrcJITDylibAddGenerator(LLVMOrcJITDylibRef JD, LLVMOrcDefinitionGeneratorRef DG)
LLVMJITSymbolGenericFlags
Definition: Orc.h:56
LLVMOrcCLookupSetElement * LLVMOrcCLookupSet
Definition: Orc.h:250
LLVMOrcJITTargetMachineBuilderRef LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(LLVMTargetMachineRef TM)
LLVMOrcJITDylibRef LLVMOrcExecutionSessionGetJITDylibByName(LLVMOrcExecutionSessionRef ES, const char *Name)
const char * LLVMOrcSymbolStringPoolEntryStr(LLVMOrcSymbolStringPoolEntryRef S)
LLVMErrorRef LLVMOrcJITDylibDefine(LLVMOrcJITDylibRef JD, LLVMOrcMaterializationUnitRef MU)
struct LLVMOrcOpaqueObjectLayer * LLVMOrcObjectLayerRef
Definition: Orc.h:400
void LLVMOrcMaterializationResponsibilityFailMaterialization(LLVMOrcMaterializationResponsibilityRef MR)
LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContext(void)
int(* LLVMOrcSymbolPredicate)(void *Ctx, LLVMOrcSymbolStringPoolEntryRef Sym)
Definition: Orc.h:371
struct LLVMOrcOpaqueDefinitionGenerator * LLVMOrcDefinitionGeneratorRef
Definition: Orc.h:304
struct LLVMOrcOpaqueSymbolStringPoolEntry * LLVMOrcSymbolStringPoolEntryRef
Definition: Orc.h:103
struct LLVMOrcOpaqueLazyCallThroughManager * LLVMOrcLazyCallThroughManagerRef
Definition: Orc.h:462
LLVMOrcSymbolLookupFlags
Definition: Orc.h:226
LLVMOrcSymbolStringPoolEntryRef LLVMOrcExecutionSessionIntern(LLVMOrcExecutionSessionRef ES, const char *Name)
void LLVMOrcDisposeIndirectStubsManager(LLVMOrcIndirectStubsManagerRef ISM)
LLVMErrorRef LLVMOrcMaterializationResponsibilityDefineMaterializing(LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolFlagsMapPairs Pairs, size_t NumPairs)
LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(LLVMOrcObjectLayerRef ObjLayer, LLVMOrcJITDylibRef JD, LLVMMemoryBufferRef ObjBuffer)
LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyResolved(LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolMapPairs Symbols, size_t NumPairs)
void(* LLVMOrcMaterializationUnitDiscardFunction)(void *Ctx, LLVMOrcJITDylibRef JD, LLVMOrcSymbolStringPoolEntryRef Symbol)
Definition: Orc.h:284
void(* LLVMOrcMaterializationUnitMaterializeFunction)(void *Ctx, LLVMOrcMaterializationResponsibilityRef MR)
Definition: Orc.h:275
void LLVMOrcDisposeDumpObjects(LLVMOrcDumpObjectsRef DumpObjects)
char * LLVMOrcJITTargetMachineBuilderGetTargetTriple(LLVMOrcJITTargetMachineBuilderRef JTMB)
struct LLVMOrcOpaqueDumpObjects * LLVMOrcDumpObjectsRef
Definition: Orc.h:471
LLVMErrorRef LLVMOrcJITDylibClear(LLVMOrcJITDylibRef JD)
void LLVMOrcDisposeLazyCallThroughManager(LLVMOrcLazyCallThroughManagerRef LCTM)
LLVMOrcJITDylibRef LLVMOrcExecutionSessionCreateBareJITDylib(LLVMOrcExecutionSessionRef ES, const char *Name)
struct LLVMOrcOpaqueIRTransformLayer * LLVMOrcIRTransformLayerRef
Definition: Orc.h:410
struct LLVMOrcOpaqueLookupState * LLVMOrcLookupStateRef
Definition: Orc.h:319
void LLVMOrcDisposeSymbols(LLVMOrcSymbolStringPoolEntryRef *Symbols)
void LLVMOrcMaterializationResponsibilityAddDependencies(LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcSymbolStringPoolEntryRef Name, LLVMOrcCDependenceMapPairs Dependencies, size_t NumPairs)
LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator(LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction F, void *Ctx, LLVMOrcDisposeCAPIDefinitionGeneratorFunction Dispose)
LLVMErrorRef LLVMOrcExecutionSessionCreateJITDylib(LLVMOrcExecutionSessionRef ES, LLVMOrcJITDylibRef *Result, const char *Name)
LLVMContextRef LLVMOrcThreadSafeContextGetContext(LLVMOrcThreadSafeContextRef TSCtx)
void LLVMOrcReleaseSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S)
struct LLVMOrcOpaqueMaterializationUnit * LLVMOrcMaterializationUnitRef
Definition: Orc.h:255
struct LLVMOrcOpaqueJITDylib * LLVMOrcJITDylibRef
Definition: Orc.h:159
struct LLVMOrcOpaqueThreadSafeContext * LLVMOrcThreadSafeContextRef
Definition: Orc.h:377
void LLVMOrcIRTransformLayerSetTransform(LLVMOrcIRTransformLayerRef IRTransformLayer, LLVMOrcIRTransformLayerTransformFunction TransformFunction, void *Ctx)
LLVMOrcJITDylibLookupFlags
Definition: Orc.h:201
LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath(LLVMOrcDefinitionGeneratorRef *Result, LLVMOrcObjectLayerRef ObjLayer, const char *FileName, const char *TargetTriple)
void LLVMOrcResourceTrackerTransferTo(LLVMOrcResourceTrackerRef SrcRT, LLVMOrcResourceTrackerRef DstRT)
LLVMOrcMaterializationUnitRef LLVMOrcLazyReexports(LLVMOrcLazyCallThroughManagerRef LCTM, LLVMOrcIndirectStubsManagerRef ISM, LLVMOrcJITDylibRef SourceRef, LLVMOrcCSymbolAliasMapPairs CallableAliases, size_t NumPairs)
void LLVMOrcDisposeJITTargetMachineBuilder(LLVMOrcJITTargetMachineBuilderRef JTMB)
@ LLVMOrcLookupKindDLSym
Definition: Orc.h:192
@ LLVMOrcLookupKindStatic
Definition: Orc.h:191
@ LLVMJITSymbolGenericFlagsNone
Definition: Orc.h:57
@ LLVMJITSymbolGenericFlagsWeak
Definition: Orc.h:59
@ LLVMJITSymbolGenericFlagsExported
Definition: Orc.h:58
@ LLVMJITSymbolGenericFlagsCallable
Definition: Orc.h:60
@ LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly
Definition: Orc.h:61
@ LLVMOrcSymbolLookupFlagsRequiredSymbol
Definition: Orc.h:227
@ LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol
Definition: Orc.h:228
@ LLVMOrcJITDylibLookupFlagsMatchAllSymbols
Definition: Orc.h:203
@ LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly
Definition: Orc.h:202
struct LLVMOpaqueMemoryBuffer * LLVMMemoryBufferRef
Definition: Types.h:48
struct LLVMOpaqueContext * LLVMContextRef
Definition: Types.h:53
struct LLVMOpaqueModule * LLVMModuleRef
Definition: Types.h:61
struct LLVMOpaqueTargetMachine * LLVMTargetMachineRef
Definition: TargetMachine.h:35
ulong uint64_t
uchar uint8_t
LLVMOrcExecutorAddress Address
Definition: Orc.h:81
LLVMJITSymbolFlags Flags
Definition: Orc.h:82
uint8_t GenericFlags
Definition: Orc.h:73
uint8_t TargetFlags
Definition: Orc.h:74
LLVMOrcJITDylibRef JD
Definition: Orc.h:174
LLVMOrcCSymbolsList Names
Definition: Orc.h:175
LLVMOrcJITDylibRef JD
Definition: Orc.h:210
LLVMOrcJITDylibLookupFlags JDLookupFlags
Definition: Orc.h:211
LLVMOrcSymbolLookupFlags LookupFlags
Definition: Orc.h:236
LLVMOrcSymbolStringPoolEntryRef Name
Definition: Orc.h:235
Definition: Orc.h:137
LLVMOrcSymbolStringPoolEntryRef Name
Definition: Orc.h:138
LLVMJITSymbolFlags Flags
Definition: Orc.h:139
LLVMOrcCSymbolAliasMapEntry Entry
Definition: Orc.h:147
LLVMOrcSymbolStringPoolEntryRef Name
Definition: Orc.h:146
LLVMJITSymbolFlags Flags
Definition: Orc.h:111
LLVMOrcSymbolStringPoolEntryRef Name
Definition: Orc.h:110
LLVMJITEvaluatedSymbol Sym
Definition: Orc.h:125
LLVMOrcSymbolStringPoolEntryRef Name
Definition: Orc.h:124
LLVMOrcSymbolStringPoolEntryRef * Symbols
Definition: Orc.h:166
size_t Length
Definition: Orc.h:167