LLVM 22.0.0git
Classes | Typedefs | Enumerations | Functions
Orc.h File Reference
#include "llvm-c/Error.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
#include "llvm-c/Visibility.h"

Go to the source code of this file.

Classes

struct  LLVMJITSymbolFlags
 Represents the linkage flags for a symbol definition. More...
 
struct  LLVMJITEvaluatedSymbol
 Represents an evaluated symbol address and flags. More...
 
struct  LLVMOrcCSymbolFlagsMapPair
 Represents a pair of a symbol name and LLVMJITSymbolFlags. More...
 
struct  LLVMOrcCSymbolMapPair
 Represents a pair of a symbol name and an evaluated symbol. More...
 
struct  LLVMOrcCSymbolAliasMapEntry
 Represents a SymbolAliasMapEntry. More...
 
struct  LLVMOrcCSymbolAliasMapPair
 Represents a pair of a symbol name and SymbolAliasMapEntry. More...
 
struct  LLVMOrcCSymbolsList
 Represents a list of LLVMOrcSymbolStringPoolEntryRef and the associated length. More...
 
struct  LLVMOrcCDependenceMapPair
 Represents a pair of a JITDylib and LLVMOrcCSymbolsList. More...
 
struct  LLVMOrcCSymbolDependenceGroup
 A set of symbols that share dependencies. More...
 
struct  LLVMOrcCJITDylibSearchOrderElement
 An element type for a JITDylib search order. More...
 
struct  LLVMOrcCLookupSetElement
 An element type for a symbol lookup set. More...
 

Typedefs

typedef uint64_t LLVMOrcJITTargetAddress
 Represents an address in the executor process.
 
typedef uint64_t LLVMOrcExecutorAddress
 Represents an address in the executor process.
 
typedef uint8_t LLVMJITSymbolTargetFlags
 Represents target specific flags for a symbol definition.
 
typedef struct LLVMOrcOpaqueExecutionSession * LLVMOrcExecutionSessionRef
 A reference to an orc::ExecutionSession instance.
 
typedef void(* LLVMOrcErrorReporterFunction) (void *Ctx, LLVMErrorRef Err)
 Error reporter function.
 
typedef struct LLVMOrcOpaqueSymbolStringPool * LLVMOrcSymbolStringPoolRef
 A reference to an orc::SymbolStringPool.
 
typedef struct LLVMOrcOpaqueSymbolStringPoolEntry * LLVMOrcSymbolStringPoolEntryRef
 A reference to an orc::SymbolStringPool table entry.
 
typedef LLVMOrcCSymbolFlagsMapPairLLVMOrcCSymbolFlagsMapPairs
 Represents a list of (SymbolStringPtr, JITSymbolFlags) pairs that can be used to construct a SymbolFlagsMap.
 
typedef LLVMOrcCSymbolMapPairLLVMOrcCSymbolMapPairs
 Represents a list of (SymbolStringPtr, JITEvaluatedSymbol) pairs that can be used to construct a SymbolMap.
 
typedef LLVMOrcCSymbolAliasMapPairLLVMOrcCSymbolAliasMapPairs
 Represents a list of (SymbolStringPtr, (SymbolStringPtr, JITSymbolFlags)) pairs that can be used to construct a SymbolFlagsMap.
 
typedef struct LLVMOrcOpaqueJITDylib * LLVMOrcJITDylibRef
 A reference to an orc::JITDylib instance.
 
typedef LLVMOrcCDependenceMapPairLLVMOrcCDependenceMapPairs
 Represents a list of (JITDylibRef, (LLVMOrcSymbolStringPoolEntryRef*, size_t)) pairs that can be used to construct a SymbolDependenceMap.
 
typedef LLVMOrcCJITDylibSearchOrderElementLLVMOrcCJITDylibSearchOrder
 A JITDylib search order.
 
typedef LLVMOrcCLookupSetElementLLVMOrcCLookupSet
 A set of symbols to look up / generate.
 
typedef struct LLVMOrcOpaqueMaterializationUnit * LLVMOrcMaterializationUnitRef
 A reference to a uniquely owned orc::MaterializationUnit instance.
 
typedef struct LLVMOrcOpaqueMaterializationResponsibility * LLVMOrcMaterializationResponsibilityRef
 A reference to a uniquely owned orc::MaterializationResponsibility instance.
 
typedef void(* LLVMOrcMaterializationUnitMaterializeFunction) (void *Ctx, LLVMOrcMaterializationResponsibilityRef MR)
 A MaterializationUnit materialize callback.
 
typedef void(* LLVMOrcMaterializationUnitDiscardFunction) (void *Ctx, LLVMOrcJITDylibRef JD, LLVMOrcSymbolStringPoolEntryRef Symbol)
 A MaterializationUnit discard callback.
 
typedef void(* LLVMOrcMaterializationUnitDestroyFunction) (void *Ctx)
 A MaterializationUnit destruction callback.
 
typedef struct LLVMOrcOpaqueResourceTracker * LLVMOrcResourceTrackerRef
 A reference to an orc::ResourceTracker instance.
 
typedef struct LLVMOrcOpaqueDefinitionGenerator * LLVMOrcDefinitionGeneratorRef
 A reference to an orc::DefinitionGenerator.
 
typedef struct LLVMOrcOpaqueLookupState * LLVMOrcLookupStateRef
 An opaque lookup state object.
 
typedef LLVMErrorRef(* LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction) (LLVMOrcDefinitionGeneratorRef GeneratorObj, void *Ctx, LLVMOrcLookupStateRef *LookupState, LLVMOrcLookupKind Kind, LLVMOrcJITDylibRef JD, LLVMOrcJITDylibLookupFlags JDLookupFlags, LLVMOrcCLookupSet LookupSet, size_t LookupSetSize)
 A custom generator function.
 
typedef void(* LLVMOrcDisposeCAPIDefinitionGeneratorFunction) (void *Ctx)
 Disposer for a custom generator.
 
typedef int(* LLVMOrcSymbolPredicate) (void *Ctx, LLVMOrcSymbolStringPoolEntryRef Sym)
 Predicate function for SymbolStringPoolEntries.
 
typedef struct LLVMOrcOpaqueThreadSafeContext * LLVMOrcThreadSafeContextRef
 A reference to an orc::ThreadSafeContext instance.
 
typedef struct LLVMOrcOpaqueThreadSafeModule * LLVMOrcThreadSafeModuleRef
 A reference to an orc::ThreadSafeModule instance.
 
typedef LLVMErrorRef(* LLVMOrcGenericIRModuleOperationFunction) (void *Ctx, LLVMModuleRef M)
 A function for inspecting/mutating IR modules, suitable for use with LLVMOrcThreadSafeModuleWithModuleDo.
 
typedef struct LLVMOrcOpaqueJITTargetMachineBuilder * LLVMOrcJITTargetMachineBuilderRef
 A reference to an orc::JITTargetMachineBuilder instance.
 
typedef struct LLVMOrcOpaqueObjectLayer * LLVMOrcObjectLayerRef
 A reference to an orc::ObjectLayer instance.
 
typedef struct LLVMOrcOpaqueObjectLinkingLayer * LLVMOrcObjectLinkingLayerRef
 A reference to an orc::ObjectLinkingLayer instance.
 
typedef struct LLVMOrcOpaqueIRTransformLayer * LLVMOrcIRTransformLayerRef
 A reference to an orc::IRTransformLayer instance.
 
typedef LLVMErrorRef(* LLVMOrcIRTransformLayerTransformFunction) (void *Ctx, LLVMOrcThreadSafeModuleRef *ModInOut, LLVMOrcMaterializationResponsibilityRef MR)
 A function for applying transformations as part of an transform layer.
 
typedef struct LLVMOrcOpaqueObjectTransformLayer * LLVMOrcObjectTransformLayerRef
 A reference to an orc::ObjectTransformLayer instance.
 
typedef LLVMErrorRef(* LLVMOrcObjectTransformLayerTransformFunction) (void *Ctx, LLVMMemoryBufferRef *ObjInOut)
 A function for applying transformations to an object file buffer.
 
typedef struct LLVMOrcOpaqueIndirectStubsManager * LLVMOrcIndirectStubsManagerRef
 A reference to an orc::IndirectStubsManager instance.
 
typedef struct LLVMOrcOpaqueLazyCallThroughManager * LLVMOrcLazyCallThroughManagerRef
 A reference to an orc::LazyCallThroughManager instance.
 
typedef struct LLVMOrcOpaqueDumpObjects * LLVMOrcDumpObjectsRef
 A reference to an orc::DumpObjects object.
 
typedef void(* LLVMOrcExecutionSessionLookupHandleResultFunction) (LLVMErrorRef Err, LLVMOrcCSymbolMapPairs Result, size_t NumPairs, void *Ctx)
 Callback type for ExecutionSession lookups.
 

Enumerations

enum  LLVMJITSymbolGenericFlags {
  LLVMJITSymbolGenericFlagsNone = 0 , LLVMJITSymbolGenericFlagsExported = 1U << 0 , LLVMJITSymbolGenericFlagsWeak = 1U << 1 , LLVMJITSymbolGenericFlagsCallable = 1U << 2 ,
  LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly = 1U << 3
}
 Represents generic linkage flags for a symbol definition. More...
 
enum  LLVMOrcLookupKind { LLVMOrcLookupKindStatic , LLVMOrcLookupKindDLSym }
 Lookup kind. More...
 
enum  LLVMOrcJITDylibLookupFlags { LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly , LLVMOrcJITDylibLookupFlagsMatchAllSymbols }
 JITDylib lookup flags. More...
 
enum  LLVMOrcSymbolLookupFlags { LLVMOrcSymbolLookupFlagsRequiredSymbol , LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol }
 Symbol lookup flags for lookup sets. More...
 

Functions

LLVM_C_ABI void LLVMOrcExecutionSessionSetErrorReporter (LLVMOrcExecutionSessionRef ES, LLVMOrcErrorReporterFunction ReportError, void *Ctx)
 Attach a custom error reporter function to the ExecutionSession.
 
LLVM_C_ABI LLVMOrcSymbolStringPoolRef LLVMOrcExecutionSessionGetSymbolStringPool (LLVMOrcExecutionSessionRef ES)
 Return a reference to the SymbolStringPool for an ExecutionSession.
 
LLVM_C_ABI void LLVMOrcSymbolStringPoolClearDeadEntries (LLVMOrcSymbolStringPoolRef SSP)
 Clear all unreferenced symbol string pool entries.
 
LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRef LLVMOrcExecutionSessionIntern (LLVMOrcExecutionSessionRef ES, const char *Name)
 Intern a string in the ExecutionSession's SymbolStringPool and return a reference to it.
 
LLVM_C_ABI void LLVMOrcExecutionSessionLookup (LLVMOrcExecutionSessionRef ES, LLVMOrcLookupKind K, LLVMOrcCJITDylibSearchOrder SearchOrder, size_t SearchOrderSize, LLVMOrcCLookupSet Symbols, size_t SymbolsSize, LLVMOrcExecutionSessionLookupHandleResultFunction HandleResult, void *Ctx)
 Look up symbols in an execution session.
 
LLVM_C_ABI void LLVMOrcRetainSymbolStringPoolEntry (LLVMOrcSymbolStringPoolEntryRef S)
 Increments the ref-count for a SymbolStringPool entry.
 
LLVM_C_ABI void LLVMOrcReleaseSymbolStringPoolEntry (LLVMOrcSymbolStringPoolEntryRef S)
 Reduces the ref-count for of a SymbolStringPool entry.
 
LLVM_C_ABI const charLLVMOrcSymbolStringPoolEntryStr (LLVMOrcSymbolStringPoolEntryRef S)
 Return the c-string for the given symbol.
 
LLVM_C_ABI void LLVMOrcReleaseResourceTracker (LLVMOrcResourceTrackerRef RT)
 Reduces the ref-count of a ResourceTracker.
 
LLVM_C_ABI void LLVMOrcResourceTrackerTransferTo (LLVMOrcResourceTrackerRef SrcRT, LLVMOrcResourceTrackerRef DstRT)
 Transfers tracking of all resources associated with resource tracker SrcRT to resource tracker DstRT.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcResourceTrackerRemove (LLVMOrcResourceTrackerRef RT)
 Remove all resources associated with the given tracker.
 
LLVM_C_ABI void LLVMOrcDisposeDefinitionGenerator (LLVMOrcDefinitionGeneratorRef DG)
 Dispose of a JITDylib::DefinitionGenerator.
 
LLVM_C_ABI void LLVMOrcDisposeMaterializationUnit (LLVMOrcMaterializationUnitRef MU)
 Dispose of a MaterializationUnit.
 
LLVM_C_ABI LLVMOrcMaterializationUnitRef LLVMOrcCreateCustomMaterializationUnit (const char *Name, void *Ctx, LLVMOrcCSymbolFlagsMapPairs Syms, size_t NumSyms, LLVMOrcSymbolStringPoolEntryRef InitSym, LLVMOrcMaterializationUnitMaterializeFunction Materialize, LLVMOrcMaterializationUnitDiscardFunction Discard, LLVMOrcMaterializationUnitDestroyFunction Destroy)
 Create a custom MaterializationUnit.
 
LLVM_C_ABI LLVMOrcMaterializationUnitRef LLVMOrcAbsoluteSymbols (LLVMOrcCSymbolMapPairs Syms, size_t NumPairs)
 Create a MaterializationUnit to define the given symbols as pointing to the corresponding raw addresses.
 
LLVM_C_ABI LLVMOrcMaterializationUnitRef LLVMOrcLazyReexports (LLVMOrcLazyCallThroughManagerRef LCTM, LLVMOrcIndirectStubsManagerRef ISM, LLVMOrcJITDylibRef SourceRef, LLVMOrcCSymbolAliasMapPairs CallableAliases, size_t NumPairs)
 Create a MaterializationUnit to define lazy re-expots.
 
LLVM_C_ABI void LLVMOrcDisposeMaterializationResponsibility (LLVMOrcMaterializationResponsibilityRef MR)
 Disposes of the passed MaterializationResponsibility object.
 
LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcMaterializationResponsibilityGetTargetDylib (LLVMOrcMaterializationResponsibilityRef MR)
 Returns the target JITDylib that these symbols are being materialized into.
 
LLVM_C_ABI LLVMOrcExecutionSessionRef LLVMOrcMaterializationResponsibilityGetExecutionSession (LLVMOrcMaterializationResponsibilityRef MR)
 Returns the ExecutionSession for this MaterializationResponsibility.
 
LLVM_C_ABI LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols (LLVMOrcMaterializationResponsibilityRef MR, size_t *NumPairs)
 Returns the symbol flags map for this responsibility instance.
 
LLVM_C_ABI void LLVMOrcDisposeCSymbolFlagsMap (LLVMOrcCSymbolFlagsMapPairs Pairs)
 Disposes of the passed LLVMOrcCSymbolFlagsMap.
 
LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRef LLVMOrcMaterializationResponsibilityGetInitializerSymbol (LLVMOrcMaterializationResponsibilityRef MR)
 Returns the initialization pseudo-symbol, if any.
 
LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRefLLVMOrcMaterializationResponsibilityGetRequestedSymbols (LLVMOrcMaterializationResponsibilityRef MR, size_t *NumSymbols)
 Returns the names of any symbols covered by this MaterializationResponsibility object that have queries pending.
 
LLVM_C_ABI void LLVMOrcDisposeSymbols (LLVMOrcSymbolStringPoolEntryRef *Symbols)
 Disposes of the passed LLVMOrcSymbolStringPoolEntryRef* .
 
LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyResolved (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolMapPairs Symbols, size_t NumPairs)
 Notifies the target JITDylib that the given symbols have been resolved.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyEmitted (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolDependenceGroup *SymbolDepGroups, size_t NumSymbolDepGroups)
 Notifies the target JITDylib (and any pending queries on that JITDylib) that all symbols covered by this MaterializationResponsibility instance have been emitted.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityDefineMaterializing (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolFlagsMapPairs Pairs, size_t NumPairs)
 Attempt to claim responsibility for new definitions.
 
LLVM_C_ABI void LLVMOrcMaterializationResponsibilityFailMaterialization (LLVMOrcMaterializationResponsibilityRef MR)
 Notify all not-yet-emitted covered by this MaterializationResponsibility instance that an error has occurred.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityReplace (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcMaterializationUnitRef MU)
 Transfers responsibility to the given MaterializationUnit for all symbols defined by that MaterializationUnit.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcSymbolStringPoolEntryRef *Symbols, size_t NumSymbols, LLVMOrcMaterializationResponsibilityRef *Result)
 Delegates responsibility for the given symbols to the returned materialization responsibility.
 
LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcExecutionSessionCreateBareJITDylib (LLVMOrcExecutionSessionRef ES, const char *Name)
 Create a "bare" JITDylib.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcExecutionSessionCreateJITDylib (LLVMOrcExecutionSessionRef ES, LLVMOrcJITDylibRef *Result, const char *Name)
 Create a JITDylib.
 
LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcExecutionSessionGetJITDylibByName (LLVMOrcExecutionSessionRef ES, const char *Name)
 Returns the JITDylib with the given name, or NULL if no such JITDylib exists.
 
LLVM_C_ABI LLVMOrcResourceTrackerRef LLVMOrcJITDylibCreateResourceTracker (LLVMOrcJITDylibRef JD)
 Return a reference to a newly created resource tracker associated with JD.
 
LLVM_C_ABI LLVMOrcResourceTrackerRef LLVMOrcJITDylibGetDefaultResourceTracker (LLVMOrcJITDylibRef JD)
 Return a reference to the default resource tracker for the given JITDylib.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcJITDylibDefine (LLVMOrcJITDylibRef JD, LLVMOrcMaterializationUnitRef MU)
 Add the given MaterializationUnit to the given JITDylib.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcJITDylibClear (LLVMOrcJITDylibRef JD)
 Calls remove on all trackers associated with this JITDylib, see JITDylib::clear().
 
LLVM_C_ABI void LLVMOrcJITDylibAddGenerator (LLVMOrcJITDylibRef JD, LLVMOrcDefinitionGeneratorRef DG)
 Add a DefinitionGenerator to the given JITDylib.
 
LLVM_C_ABI LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator (LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction F, void *Ctx, LLVMOrcDisposeCAPIDefinitionGeneratorFunction Dispose)
 Create a custom generator.
 
LLVM_C_ABI void LLVMOrcLookupStateContinueLookup (LLVMOrcLookupStateRef S, LLVMErrorRef Err)
 Continue a lookup that was suspended in a generator (see LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction).
 
LLVM_C_ABI LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess (LLVMOrcDefinitionGeneratorRef *Result, char GlobalPrefx, LLVMOrcSymbolPredicate Filter, void *FilterCtx)
 Get a DynamicLibrarySearchGenerator that will reflect process symbols into the JITDylib.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath (LLVMOrcDefinitionGeneratorRef *Result, const char *FileName, char GlobalPrefix, LLVMOrcSymbolPredicate Filter, void *FilterCtx)
 Get a LLVMOrcCreateDynamicLibararySearchGeneratorForPath that will reflect library symbols into the JITDylib.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath (LLVMOrcDefinitionGeneratorRef *Result, LLVMOrcObjectLayerRef ObjLayer, const char *FileName)
 Get a LLVMOrcCreateStaticLibrarySearchGeneratorForPath that will reflect static library symbols into the JITDylib.
 
LLVM_C_ABI LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContext (void)
 Create a ThreadSafeContextRef containing a new LLVMContext.
 
LLVM_C_ABI LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContextFromLLVMContext (LLVMContextRef Ctx)
 Create a ThreadSafeContextRef from a given LLVMContext, which must not be associated with any existing ThreadSafeContext.
 
LLVM_C_ABI void LLVMOrcDisposeThreadSafeContext (LLVMOrcThreadSafeContextRef TSCtx)
 Dispose of a ThreadSafeContext.
 
LLVM_C_ABI LLVMOrcThreadSafeModuleRef LLVMOrcCreateNewThreadSafeModule (LLVMModuleRef M, LLVMOrcThreadSafeContextRef TSCtx)
 Create a ThreadSafeModule wrapper around the given LLVM module.
 
LLVM_C_ABI void LLVMOrcDisposeThreadSafeModule (LLVMOrcThreadSafeModuleRef TSM)
 Dispose of a ThreadSafeModule.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcThreadSafeModuleWithModuleDo (LLVMOrcThreadSafeModuleRef TSM, LLVMOrcGenericIRModuleOperationFunction F, void *Ctx)
 Apply the given function to the module contained in this ThreadSafeModule.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcJITTargetMachineBuilderDetectHost (LLVMOrcJITTargetMachineBuilderRef *Result)
 Create a JITTargetMachineBuilder by detecting the host.
 
LLVM_C_ABI LLVMOrcJITTargetMachineBuilderRef LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine (LLVMTargetMachineRef TM)
 Create a JITTargetMachineBuilder from the given TargetMachine template.
 
LLVM_C_ABI void LLVMOrcDisposeJITTargetMachineBuilder (LLVMOrcJITTargetMachineBuilderRef JTMB)
 Dispose of a JITTargetMachineBuilder.
 
LLVM_C_ABI charLLVMOrcJITTargetMachineBuilderGetTargetTriple (LLVMOrcJITTargetMachineBuilderRef JTMB)
 Returns the target triple for the given JITTargetMachineBuilder as a string.
 
LLVM_C_ABI void LLVMOrcJITTargetMachineBuilderSetTargetTriple (LLVMOrcJITTargetMachineBuilderRef JTMB, const char *TargetTriple)
 Sets the target triple for the given JITTargetMachineBuilder to the given string.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFile (LLVMOrcObjectLayerRef ObjLayer, LLVMOrcJITDylibRef JD, LLVMMemoryBufferRef ObjBuffer)
 Add an object to an ObjectLayer to the given JITDylib.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFileWithRT (LLVMOrcObjectLayerRef ObjLayer, LLVMOrcResourceTrackerRef RT, LLVMMemoryBufferRef ObjBuffer)
 Add an object to an ObjectLayer using the given ResourceTracker.
 
LLVM_C_ABI void LLVMOrcObjectLayerEmit (LLVMOrcObjectLayerRef ObjLayer, LLVMOrcMaterializationResponsibilityRef R, LLVMMemoryBufferRef ObjBuffer)
 Emit an object buffer to an ObjectLayer.
 
LLVM_C_ABI void LLVMOrcDisposeObjectLayer (LLVMOrcObjectLayerRef ObjLayer)
 Dispose of an ObjectLayer.
 
LLVM_C_ABI void LLVMOrcIRTransformLayerEmit (LLVMOrcIRTransformLayerRef IRTransformLayer, LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcThreadSafeModuleRef TSM)
 
LLVM_C_ABI void LLVMOrcIRTransformLayerSetTransform (LLVMOrcIRTransformLayerRef IRTransformLayer, LLVMOrcIRTransformLayerTransformFunction TransformFunction, void *Ctx)
 Set the transform function of the provided transform layer, passing through a pointer to user provided context.
 
LLVM_C_ABI void LLVMOrcObjectTransformLayerSetTransform (LLVMOrcObjectTransformLayerRef ObjTransformLayer, LLVMOrcObjectTransformLayerTransformFunction TransformFunction, void *Ctx)
 Set the transform function on an LLVMOrcObjectTransformLayer.
 
LLVM_C_ABI LLVMOrcIndirectStubsManagerRef LLVMOrcCreateLocalIndirectStubsManager (const char *TargetTriple)
 Create a LocalIndirectStubsManager from the given target triple.
 
LLVM_C_ABI void LLVMOrcDisposeIndirectStubsManager (LLVMOrcIndirectStubsManagerRef ISM)
 Dispose of an IndirectStubsManager.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager (const char *TargetTriple, LLVMOrcExecutionSessionRef ES, LLVMOrcJITTargetAddress ErrorHandlerAddr, LLVMOrcLazyCallThroughManagerRef *LCTM)
 
LLVM_C_ABI void LLVMOrcDisposeLazyCallThroughManager (LLVMOrcLazyCallThroughManagerRef LCTM)
 Dispose of an LazyCallThroughManager.
 
LLVM_C_ABI LLVMOrcDumpObjectsRef LLVMOrcCreateDumpObjects (const char *DumpDir, const char *IdentifierOverride)
 Create a DumpObjects instance.
 
LLVM_C_ABI void LLVMOrcDisposeDumpObjects (LLVMOrcDumpObjectsRef DumpObjects)
 Dispose of a DumpObjects instance.
 
LLVM_C_ABI LLVMErrorRef LLVMOrcDumpObjects_CallOperator (LLVMOrcDumpObjectsRef DumpObjects, LLVMMemoryBufferRef *ObjBuffer)
 Dump the contents of the given MemoryBuffer.