LLVM
8.0.1
|
Go to the source code of this file.
Typedefs | |
typedef struct LLVMOrcOpaqueJITStack * | LLVMOrcJITStackRef |
typedef uint64_t | LLVMOrcModuleHandle |
typedef uint64_t | LLVMOrcTargetAddress |
typedef uint64_t(* | LLVMOrcSymbolResolverFn) (const char *Name, void *LookupCtx) |
typedef uint64_t(* | LLVMOrcLazyCompileCallbackFn) (LLVMOrcJITStackRef JITStack, void *CallbackCtx) |
typedef struct LLVMOrcOpaqueJITStack* LLVMOrcJITStackRef |
Definition at line 33 of file OrcBindings.h.
typedef uint64_t(* LLVMOrcLazyCompileCallbackFn) (LLVMOrcJITStackRef JITStack, void *CallbackCtx) |
Definition at line 37 of file OrcBindings.h.
typedef uint64_t LLVMOrcModuleHandle |
Definition at line 34 of file OrcBindings.h.
Definition at line 36 of file OrcBindings.h.
typedef uint64_t LLVMOrcTargetAddress |
Definition at line 35 of file OrcBindings.h.
LLVMErrorRef LLVMOrcAddEagerlyCompiledIR | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcModuleHandle * | RetHandle, | ||
LLVMModuleRef | Mod, | ||
LLVMOrcSymbolResolverFn | SymbolResolver, | ||
void * | SymbolResolverCtx | ||
) |
Add module to be eagerly compiled.
Definition at line 70 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::addIRModuleEager(), LLVMErrorSuccess, llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcAddLazilyCompiledIR | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcModuleHandle * | RetHandle, | ||
LLVMModuleRef | Mod, | ||
LLVMOrcSymbolResolverFn | SymbolResolver, | ||
void * | SymbolResolverCtx | ||
) |
Add module to be lazily compiled one function at a time.
Definition at line 85 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::addIRModuleLazy(), LLVMErrorSuccess, llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcAddObjectFile | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcModuleHandle * | RetHandle, | ||
LLVMMemoryBufferRef | Obj, | ||
LLVMOrcSymbolResolverFn | SymbolResolver, | ||
void * | SymbolResolverCtx | ||
) |
Add an object file.
This method takes ownership of the given memory buffer and attempts to add it to the JIT as an object file. Clients should not dispose of the 'Obj' argument: the JIT will manage it from this call onwards.
Definition at line 100 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::addObject(), LLVMErrorSuccess, llvm::RISCVFenceField::O, llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcCreateIndirectStub | ( | LLVMOrcJITStackRef | JITStack, |
const char * | StubName, | ||
LLVMOrcTargetAddress | InitAddr | ||
) |
Create a named indirect call stub.
Definition at line 56 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::createIndirectStub(), llvm::unwrap(), and llvm::wrap().
LLVMOrcJITStackRef LLVMOrcCreateInstance | ( | LLVMTargetMachineRef | TM | ) |
Create an ORC JIT stack.
The client owns the resulting stack, and must call OrcDisposeInstance(...) to destroy it and free its memory. The JIT stack will take ownership of the TargetMachine, which will be destroyed when the stack is destroyed. The client should not attempt to dispose of the Target Machine, or it will result in a double-free.
Definition at line 16 of file OrcCBindings.cpp.
References llvm::orc::createLocalIndirectStubsManagerBuilder(), llvm::TargetMachine::getTargetTriple(), T, llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcCreateLazyCompileCallback | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcTargetAddress * | RetAddr, | ||
LLVMOrcLazyCompileCallbackFn | Callback, | ||
void * | CallbackCtx | ||
) |
Create a lazy compile callback.
Definition at line 45 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::createLazyCompileCallback(), LLVMErrorSuccess, llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcDisposeInstance | ( | LLVMOrcJITStackRef | JITStack | ) |
Dispose of an ORC JIT stack.
Definition at line 144 of file OrcCBindings.cpp.
References llvm::unwrap().
void LLVMOrcDisposeMangledSymbol | ( | char * | MangledSymbol | ) |
Dispose of a mangled symbol.
Definition at line 43 of file OrcCBindings.cpp.
const char* LLVMOrcGetErrorMsg | ( | LLVMOrcJITStackRef | JITStack | ) |
Get the error message for the most recent error (if any).
This message is owned by the ORC JIT Stack and will be freed when the stack is disposed of by LLVMOrcDisposeInstance.
Definition at line 30 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::getErrorMessage(), and llvm::unwrap().
void LLVMOrcGetMangledSymbol | ( | LLVMOrcJITStackRef | JITStack, |
char ** | MangledSymbol, | ||
const char * | Symbol | ||
) |
Mangle the given symbol.
Memory will be allocated for MangledSymbol to hold the result. The client
Definition at line 35 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::mangle(), and llvm::unwrap().
LLVMErrorRef LLVMOrcGetSymbolAddress | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcTargetAddress * | RetAddr, | ||
const char * | SymbolName | ||
) |
Get symbol address from JIT instance.
Definition at line 121 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::findSymbolAddress(), LLVMErrorSuccess, llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcGetSymbolAddressIn | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcTargetAddress * | RetAddr, | ||
LLVMOrcModuleHandle | H, | ||
const char * | SymbolName | ||
) |
Get symbol address from JIT instance, searching only the specified handle.
Definition at line 132 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::findSymbolAddressIn(), LLVMErrorSuccess, llvm::unwrap(), and llvm::wrap().
void LLVMOrcRegisterJITEventListener | ( | LLVMOrcJITStackRef | JITStack, |
LLVMJITEventListenerRef | L | ||
) |
Register a JIT Event Listener.
A NULL listener is ignored.
Definition at line 151 of file OrcCBindings.cpp.
References llvm::unwrap().
LLVMErrorRef LLVMOrcRemoveModule | ( | LLVMOrcJITStackRef | JITStack, |
LLVMOrcModuleHandle | H | ||
) |
Remove a module set from the JIT.
This works for all modules that can be added via OrcAdd*, including object files.
Definition at line 115 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::removeModule(), llvm::unwrap(), and llvm::wrap().
LLVMErrorRef LLVMOrcSetIndirectStubPointer | ( | LLVMOrcJITStackRef | JITStack, |
const char * | StubName, | ||
LLVMOrcTargetAddress | NewAddr | ||
) |
Set the pointer for the given indirect stub.
Definition at line 63 of file OrcCBindings.cpp.
References llvm::OrcCBindingsStack::setIndirectStubPointer(), llvm::unwrap(), and llvm::wrap().
void LLVMOrcUnregisterJITEventListener | ( | LLVMOrcJITStackRef | JITStack, |
LLVMJITEventListenerRef | L | ||
) |
Unegister a JIT Event Listener.
A NULL listener is ignored.
Definition at line 156 of file OrcCBindings.cpp.
References llvm::unwrap().