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 291 of file ExecutionEngineBindings.cpp.
References Addr, llvm::Global, and llvm::unwrap().
void LLVMAddModule | ( | LLVMExecutionEngineRef | EE, |
LLVMModuleRef | M | ||
) |
Definition at line 256 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
LLVMBool LLVMCreateExecutionEngineForModule | ( | LLVMExecutionEngineRef * | OutEE, |
LLVMModuleRef | M, | ||
char ** | OutError | ||
) |
Definition at line 103 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 248 of file GDBRegistrationListener.cpp.
References llvm::JITEventListener::createGDBRegistrationListener(), and llvm::wrap().
LLVMGenericValueRef LLVMCreateGenericValueOfFloat | ( | LLVMTypeRef | Ty, |
double | N | ||
) |
Definition at line 54 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 40 of file ExecutionEngineBindings.cpp.
References getBitWidth(), llvm::GenericValue::IntVal, N, and wrap().
LLVMGenericValueRef LLVMCreateGenericValueOfPointer | ( | void * | P | ) |
Definition at line 48 of file ExecutionEngineBindings.cpp.
References P, llvm::GenericValue::PointerVal, and wrap().
LLVMJITEventListenerRef LLVMCreateIntelJITEventListener | ( | void | ) |
Definition at line 429 of file ExecutionEngineBindings.cpp.
References llvm::JITEventListener::createIntelJITEventListener(), and llvm::wrap().
LLVMBool LLVMCreateInterpreterForModule | ( | LLVMExecutionEngineRef * | OutInterp, |
LLVMModuleRef | M, | ||
char ** | OutError | ||
) |
Definition at line 118 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 133 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 160 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 436 of file ExecutionEngineBindings.cpp.
References llvm::JITEventListener::createOProfileJITEventListener(), and llvm::wrap().
LLVMJITEventListenerRef LLVMCreatePerfJITEventListener | ( | void | ) |
Definition at line 443 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 402 of file ExecutionEngineBindings.cpp.
void LLVMDisposeExecutionEngine | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 215 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
void LLVMDisposeGenericValue | ( | LLVMGenericValueRef | GenVal | ) |
Definition at line 97 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
void LLVMDisposeMCJITMemoryManager | ( | LLVMMCJITMemoryManagerRef | MM | ) |
Definition at line 421 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 310 of file ExecutionEngineBindings.cpp.
References assert(), and llvm::unwrap().
LLVMBool LLVMFindFunction | ( | LLVMExecutionEngineRef | EE, |
const char * | Name, | ||
LLVMValueRef * | OutFn | ||
) |
Definition at line 268 of file ExecutionEngineBindings.cpp.
References F, Name, llvm::unwrap(), and wrap().
void LLVMFreeMachineCodeForFunction | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | F | ||
) |
Definition at line 253 of file ExecutionEngineBindings.cpp.
unsigned LLVMGenericValueIntWidth | ( | LLVMGenericValueRef | GenValRef | ) |
Definition at line 69 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
double LLVMGenericValueToFloat | ( | LLVMTypeRef | TyRef, |
LLVMGenericValueRef | GenVal | ||
) |
Definition at line 86 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 73 of file ExecutionEngineBindings.cpp.
References llvm::APInt::getSExtValue(), llvm::APInt::getZExtValue(), llvm::GenericValue::IntVal, and llvm::unwrap().
void * LLVMGenericValueToPointer | ( | LLVMGenericValueRef | GenVal | ) |
Definition at line 82 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
LLVMTargetDataRef LLVMGetExecutionEngineTargetData | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 282 of file ExecutionEngineBindings.cpp.
References llvm::unwrap(), and wrap().
LLVMTargetMachineRef LLVMGetExecutionEngineTargetMachine | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 287 of file ExecutionEngineBindings.cpp.
References llvm::unwrap(), and wrap().
uint64_t LLVMGetFunctionAddress | ( | LLVMExecutionEngineRef | EE, |
const char * | Name | ||
) |
Definition at line 306 of file ExecutionEngineBindings.cpp.
References Name, and llvm::unwrap().
uint64_t LLVMGetGlobalValueAddress | ( | LLVMExecutionEngineRef | EE, |
const char * | Name | ||
) |
Definition at line 302 of file ExecutionEngineBindings.cpp.
References Name, and llvm::unwrap().
void * LLVMGetPointerToGlobal | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | Global | ||
) |
Definition at line 296 of file ExecutionEngineBindings.cpp.
References llvm::Global, and llvm::unwrap().
void LLVMInitializeMCJITCompilerOptions | ( | struct LLVMMCJITCompilerOptions * | Options, |
size_t | SizeOfOptions | ||
) |
Definition at line 150 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 277 of file ExecutionEngineBindings.cpp.
LLVMBool LLVMRemoveModule | ( | LLVMExecutionEngineRef | EE, |
LLVMModuleRef | M, | ||
LLVMModuleRef * | OutMod, | ||
char ** | OutError | ||
) |
Definition at line 260 of file ExecutionEngineBindings.cpp.
References Mod, llvm::unwrap(), and wrap().
LLVMGenericValueRef LLVMRunFunction | ( | LLVMExecutionEngineRef | EE, |
LLVMValueRef | F, | ||
unsigned | NumArgs, | ||
LLVMGenericValueRef * | Args | ||
) |
Definition at line 238 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 229 of file ExecutionEngineBindings.cpp.
References F, and llvm::unwrap().
void LLVMRunStaticConstructors | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 219 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().
void LLVMRunStaticDestructors | ( | LLVMExecutionEngineRef | EE | ) |
Definition at line 224 of file ExecutionEngineBindings.cpp.
References llvm::unwrap().