LLVM 20.0.0git
|
Modules | |
LLJIT | |
On-Request-Compilation | |
ExecutionEngine-based ORC Utils | |
Classes | |
struct | LLVMMCJITCompilerOptions |
Typedefs | |
typedef struct LLVMOpaqueGenericValue * | LLVMGenericValueRef |
typedef struct LLVMOpaqueExecutionEngine * | LLVMExecutionEngineRef |
typedef struct LLVMOpaqueMCJITMemoryManager * | LLVMMCJITMemoryManagerRef |
typedef uint8_t *(* | LLVMMemoryManagerAllocateCodeSectionCallback) (void *Opaque, uintptr_t Size, unsigned Alignment, unsigned SectionID, const char *SectionName) |
typedef uint8_t *(* | LLVMMemoryManagerAllocateDataSectionCallback) (void *Opaque, uintptr_t Size, unsigned Alignment, unsigned SectionID, const char *SectionName, LLVMBool IsReadOnly) |
typedef LLVMBool(* | LLVMMemoryManagerFinalizeMemoryCallback) (void *Opaque, char **ErrMsg) |
typedef void(* | LLVMMemoryManagerDestroyCallback) (void *Opaque) |
typedef struct LLVMOpaqueExecutionEngine* LLVMExecutionEngineRef |
Definition at line 40 of file ExecutionEngine.h.
typedef struct LLVMOpaqueGenericValue* LLVMGenericValueRef |
Definition at line 39 of file ExecutionEngine.h.
typedef struct LLVMOpaqueMCJITMemoryManager* LLVMMCJITMemoryManagerRef |
Definition at line 41 of file ExecutionEngine.h.
typedef uint8_t *(* LLVMMemoryManagerAllocateCodeSectionCallback) (void *Opaque, uintptr_t Size, unsigned Alignment, unsigned SectionID, const char *SectionName) |
Definition at line 159 of file ExecutionEngine.h.
typedef uint8_t *(* LLVMMemoryManagerAllocateDataSectionCallback) (void *Opaque, uintptr_t Size, unsigned Alignment, unsigned SectionID, const char *SectionName, LLVMBool IsReadOnly) |
Definition at line 162 of file ExecutionEngine.h.
typedef void(* LLVMMemoryManagerDestroyCallback) (void *Opaque) |
Definition at line 167 of file ExecutionEngine.h.
Definition at line 165 of file ExecutionEngine.h.
void LLVMAddGlobalMapping | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | Global, | ||
void * | Addr | ||
) |
Definition at line 292 of file ExecutionEngineBindings.cpp.
References Addr, llvm::Global, and llvm::unwrap().
void LLVMAddModule | ( | LLVMExecutionEngineRef | EE, |
LLVMModuleRef | M | ||
) |
Definition at line 257 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
LLVMBool LLVMCreateExecutionEngineForModule | ( | LLVMExecutionEngineRef * | OutEE, |
LLVMModuleRef | M, | ||
char ** | OutError | ||
) |
Definition at line 104 of file ExecutionEngineBindings.cpp.
References llvm::EngineBuilder::create(), llvm::EngineKind::Either, llvm::EngineBuilder::setEngineKind(), llvm::EngineBuilder::setErrorStr(), llvm::unwrap(), and wrap().
LLVMJITEventListenerRef LLVMCreateGDBRegistrationListener | ( | void | ) |
Definition at line 249 of file GDBRegistrationListener.cpp.
References llvm::JITEventListener::createGDBRegistrationListener(), and llvm::wrap().
LLVMGenericValueRef LLVMCreateGenericValueOfFloat | ( | LLVMTypeRef | Ty, |
double | N | ||
) |
Definition at line 55 of file ExecutionEngineBindings.cpp.
References llvm::Type::DoubleTyID, llvm::GenericValue::DoubleVal, llvm::Type::FloatTyID, llvm::GenericValue::FloatVal, getTypeID(), llvm_unreachable, N, llvm::unwrap(), and wrap().
LLVMGenericValueRef LLVMCreateGenericValueOfInt | ( | LLVMTypeRef | Ty, |
unsigned long long | N, | ||
LLVMBool | IsSigned | ||
) |
Definition at line 41 of file ExecutionEngineBindings.cpp.
References getBitWidth(), llvm::GenericValue::IntVal, N, and wrap().
LLVMGenericValueRef LLVMCreateGenericValueOfPointer | ( | void * | P | ) |
Definition at line 49 of file ExecutionEngineBindings.cpp.
References P, llvm::GenericValue::PointerVal, and wrap().
LLVMJITEventListenerRef LLVMCreateIntelJITEventListener | ( | void | ) |
Definition at line 430 of file ExecutionEngineBindings.cpp.
References llvm::JITEventListener::createIntelJITEventListener(), and llvm::wrap().
LLVMBool LLVMCreateInterpreterForModule | ( | LLVMExecutionEngineRef * | OutInterp, |
LLVMModuleRef | M, | ||
char ** | OutError | ||
) |
Definition at line 119 of file ExecutionEngineBindings.cpp.
References llvm::EngineBuilder::create(), llvm::EngineKind::Interpreter, llvm::EngineBuilder::setEngineKind(), llvm::EngineBuilder::setErrorStr(), llvm::unwrap(), and wrap().
LLVMBool LLVMCreateJITCompilerForModule | ( | LLVMExecutionEngineRef * | OutJIT, |
LLVMModuleRef | M, | ||
unsigned | OptLevel, | ||
char ** | OutError | ||
) |
Definition at line 134 of file ExecutionEngineBindings.cpp.
References llvm::EngineBuilder::create(), llvm::EngineKind::JIT, llvm::EngineBuilder::setEngineKind(), llvm::EngineBuilder::setErrorStr(), llvm::EngineBuilder::setOptLevel(), llvm::unwrap(), and wrap().
LLVMBool LLVMCreateMCJITCompilerForModule | ( | LLVMExecutionEngineRef * | OutJIT, |
LLVMModuleRef | M, | ||
struct LLVMMCJITCompilerOptions * | Options, | ||
size_t | SizeOfOptions, | ||
char ** | OutError | ||
) |
Create an MCJIT execution engine for a module, with the given options.
It is the responsibility of the caller to ensure that all fields in Options up to the given SizeOfOptions are initialized. It is correct to pass a smaller value of SizeOfOptions that omits some fields. The canonical way of using this is:
LLVMMCJITCompilerOptions options; LLVMInitializeMCJITCompilerOptions(&options, sizeof(options)); ... fill in those options you care about LLVMCreateMCJITCompilerForModule(&jit, mod, &options, sizeof(options), &error);
Note that this is also correct, though possibly suboptimal:
LLVMCreateMCJITCompilerForModule(&jit, mod, 0, 0, &error);
Definition at line 161 of file ExecutionEngineBindings.cpp.
References llvm::EngineBuilder::create(), llvm::TargetOptions::EnableFastISel, F, llvm::EngineKind::JIT, LLVMInitializeMCJITCompilerOptions(), Mod, llvm::EngineBuilder::setCodeModel(), llvm::EngineBuilder::setEngineKind(), llvm::EngineBuilder::setErrorStr(), llvm::EngineBuilder::setMCJITMemoryManager(), llvm::EngineBuilder::setOptLevel(), llvm::EngineBuilder::setTargetOptions(), llvm::unwrap(), and wrap().
LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener | ( | void | ) |
Definition at line 437 of file ExecutionEngineBindings.cpp.
References llvm::JITEventListener::createOProfileJITEventListener(), and llvm::wrap().
LLVMJITEventListenerRef LLVMCreatePerfJITEventListener | ( | void | ) |
Definition at line 444 of file ExecutionEngineBindings.cpp.
References llvm::JITEventListener::createPerfJITEventListener(), and llvm::wrap().
LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager | ( | void * | Opaque, |
LLVMMemoryManagerAllocateCodeSectionCallback | AllocateCodeSection, | ||
LLVMMemoryManagerAllocateDataSectionCallback | AllocateDataSection, | ||
LLVMMemoryManagerFinalizeMemoryCallback | FinalizeMemory, | ||
LLVMMemoryManagerDestroyCallback | Destroy | ||
) |
Create a simple custom MCJIT memory manager.
This memory manager can intercept allocations in a module-oblivious way. This will return NULL if any of the passed functions are NULL.
Opaque | An opaque client object to pass back to the callbacks. |
AllocateCodeSection | Allocate a block of memory for executable code. |
AllocateDataSection | Allocate a block of memory for data. |
FinalizeMemory | Set page permissions and flush cache. Return 0 on success, 1 on error. |
Definition at line 403 of file ExecutionEngineBindings.cpp.
void LLVMDisposeExecutionEngine | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 216 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
void LLVMDisposeGenericValue | ( | LLVMGenericValueRef | GenVal | ) |
Definition at line 98 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
void LLVMDisposeMCJITMemoryManager | ( | LLVMMCJITMemoryManagerRef | MM | ) |
Definition at line 422 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
LLVMBool LLVMExecutionEngineGetErrMsg | ( | LLVMExecutionEngineRef | EE, |
char ** | OutError | ||
) |
Returns true on error, false on success.
If true is returned then the error message is copied to OutStr and cleared in the ExecutionEngine instance.
Definition at line 311 of file ExecutionEngineBindings.cpp.
References assert(), and llvm::unwrap().
LLVMBool LLVMFindFunction | ( | LLVMExecutionEngineRef | EE, |
const char * | Name, | ||
LLVMValueRef * | OutFn | ||
) |
Definition at line 269 of file ExecutionEngineBindings.cpp.
References F, Name, llvm::unwrap(), and wrap().
void LLVMFreeMachineCodeForFunction | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | F | ||
) |
Definition at line 254 of file ExecutionEngineBindings.cpp.
unsigned LLVMGenericValueIntWidth | ( | LLVMGenericValueRef | GenValRef | ) |
Definition at line 70 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
double LLVMGenericValueToFloat | ( | LLVMTypeRef | TyRef, |
LLVMGenericValueRef | GenVal | ||
) |
Definition at line 87 of file ExecutionEngineBindings.cpp.
References llvm::Type::DoubleTyID, llvm::Type::FloatTyID, getTypeID(), llvm_unreachable, and llvm::unwrap().
unsigned long long LLVMGenericValueToInt | ( | LLVMGenericValueRef | GenVal, |
LLVMBool | IsSigned | ||
) |
Definition at line 74 of file ExecutionEngineBindings.cpp.
References llvm::APInt::getSExtValue(), llvm::APInt::getZExtValue(), llvm::GenericValue::IntVal, and llvm::unwrap().
void * LLVMGenericValueToPointer | ( | LLVMGenericValueRef | GenVal | ) |
Definition at line 83 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
LLVMTargetDataRef LLVMGetExecutionEngineTargetData | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 283 of file ExecutionEngineBindings.cpp.
References llvm::unwrap(), and wrap().
LLVMTargetMachineRef LLVMGetExecutionEngineTargetMachine | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 288 of file ExecutionEngineBindings.cpp.
References llvm::unwrap(), and wrap().
uint64_t LLVMGetFunctionAddress | ( | LLVMExecutionEngineRef | EE, |
const char * | Name | ||
) |
Definition at line 307 of file ExecutionEngineBindings.cpp.
References Name, and llvm::unwrap().
uint64_t LLVMGetGlobalValueAddress | ( | LLVMExecutionEngineRef | EE, |
const char * | Name | ||
) |
Definition at line 303 of file ExecutionEngineBindings.cpp.
References Name, and llvm::unwrap().
void * LLVMGetPointerToGlobal | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | Global | ||
) |
Definition at line 297 of file ExecutionEngineBindings.cpp.
References llvm::Global, and llvm::unwrap().
void LLVMInitializeMCJITCompilerOptions | ( | struct LLVMMCJITCompilerOptions * | Options, |
size_t | SizeOfOptions | ||
) |
Definition at line 151 of file ExecutionEngineBindings.cpp.
References LLVMCodeModelJITDefault.
Referenced by LLVMCreateMCJITCompilerForModule().
void LLVMLinkInInterpreter | ( | void | ) |
Definition at line 30 of file Interpreter.cpp.
void * LLVMRecompileAndRelinkFunction | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | Fn | ||
) |
Definition at line 278 of file ExecutionEngineBindings.cpp.
LLVMBool LLVMRemoveModule | ( | LLVMExecutionEngineRef | EE, |
LLVMModuleRef | M, | ||
LLVMModuleRef * | OutMod, | ||
char ** | OutError | ||
) |
Definition at line 261 of file ExecutionEngineBindings.cpp.
References Mod, llvm::unwrap(), and wrap().
LLVMGenericValueRef LLVMRunFunction | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | F, | ||
unsigned | NumArgs, | ||
LLVMGenericValueRef * | Args | ||
) |
Definition at line 239 of file ExecutionEngineBindings.cpp.
References F, I, llvm::unwrap(), and wrap().
int LLVMRunFunctionAsMain | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | F, | ||
unsigned | ArgC, | ||
const char *const * | ArgV, | ||
const char *const * | EnvP | ||
) |
Definition at line 230 of file ExecutionEngineBindings.cpp.
References F, and llvm::unwrap().
void LLVMRunStaticConstructors | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 220 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
void LLVMRunStaticDestructors | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 225 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().