module lib.llvm.c.ExecutionEngine

Code Map

module lib.llvm.c.ExecutionEngine;


alias LLVMGenericValueRef = LLVMGenericValue*;
alias LLVMExecutionEngineRef = LLVMExecutionEngine*;
alias LLVMMCJITMemoryManagerRef = LLVMMCJITMemoryManager*;
alias LLVMMemoryManagerAllocateCodeSectionCallback = fn (void*, uintptr_t, u32, u32, const(char)*) (uint8_t);
alias LLVMMemoryManagerAllocateDataSectionCallback = fn (void*, uintptr_t, u32, u32, const(char)*, LLVMBool) (uint8_t);
alias LLVMMemoryManagerFinalizeMemoryCallback = fn (void*, char**) (LLVMBool);
alias LLVMMemoryManagerDestroyCallback = fn (void*) (void);

struct LLVMGenericValue
{
}

struct LLVMExecutionEngine
{
}

struct LLVMMCJITMemoryManager
{
}

struct LLVMMCJITCompilerOptions
{
public:
	OptLevel: u32;
	CodeModel: LLVMCodeModel;
	NoFramePointerElim: LLVMBool;
	EnableFastISel: LLVMBool;
	MCJMM: LLVMMCJITMemoryManagerRef;
}

fn LLVMLinkInMCJIT();
fn LLVMLinkInInterpreter();
fn LLVMCreateGenericValueOfInt(Ty: LLVMTypeRef, N: u64, IsSigned: LLVMBool) LLVMGenericValueRef;
fn LLVMCreateGenericValueOfPointer(P: void*) LLVMGenericValueRef;
fn LLVMCreateGenericValueOfFloat(Ty: LLVMTypeRef, N: f64) LLVMGenericValueRef;
fn LLVMGenericValueIntWidth(GenValRef: LLVMGenericValueRef) u32;
fn LLVMGenericValueToInt(GenVal: LLVMGenericValueRef, IsSigned: LLVMBool) u64;
fn LLVMGenericValueToPointer(GenVal: LLVMGenericValueRef) void*;
fn LLVMGenericValueToFloat(TyRef: LLVMTypeRef, GenVal: LLVMGenericValueRef) f64;
fn LLVMDisposeGenericValue(GenVal: LLVMGenericValueRef);
fn LLVMCreateExecutionEngineForModule(OutEE: LLVMExecutionEngineRef*, M: LLVMModuleRef, OutError: const(const(char)*)*) LLVMBool;
fn LLVMInitializeMCJITCompilerOptions(Options: LLVMMCJITCompilerOptions*, SizeOfOptions: size_t);
fn LLVMCreateMCJITCompilerForModule(OutJIT: LLVMExecutionEngineRef*, M: LLVMModuleRef, Options: LLVMMCJITCompilerOptions*, SizeOfOptions: size_t, OutError: const(const(char)*)*) LLVMBool;
fn LLVMDisposeExecutionEngine(EE: LLVMExecutionEngineRef);
fn LLVMRunStaticConstructors(EE: LLVMExecutionEngineRef);
fn LLVMRunStaticDestructors(EE: LLVMExecutionEngineRef);
fn LLVMRunFunctionAsMain(EE: LLVMExecutionEngineRef, F: LLVMValueRef, ArgC: u32, ArgV: const(const(char)*)*, EnvP: const(const(char)*)*) i32;
fn LLVMRunFunction(EE: LLVMExecutionEngineRef, F: LLVMValueRef, NumArgs: u32, Args: LLVMGenericValueRef*) LLVMGenericValueRef;
fn LLVMFreeMachineCodeForFunction(EE: LLVMExecutionEngineRef, F: LLVMValueRef);
fn LLVMAddModule(EE: LLVMExecutionEngineRef, M: LLVMModuleRef);
fn LLVMRemoveModule(EE: LLVMExecutionEngineRef, M: LLVMModuleRef, OutMod: LLVMModuleRef*, OutError: const(const(char)*)*) LLVMBool;
fn LLVMFindFunction(EE: LLVMExecutionEngineRef, Name: const(char)*, OutFn: LLVMValueRef*) LLVMBool;
fn LLVMRecompileAndRelinkFunction(EE: LLVMExecutionEngineRef, Fn: LLVMValueRef) void*;
fn LLVMGetExecutionEngineTargetData(EE: LLVMExecutionEngineRef) LLVMTargetDataRef;
fn LLVMGetExecutionEngineTargetMachine(EE: LLVMExecutionEngineRef) LLVMTargetMachineRef;
fn LLVMAddGlobalMapping(EE: LLVMExecutionEngineRef, Global: LLVMValueRef, Addr: void*);
fn LLVMGetPointerToGlobal(EE: LLVMExecutionEngineRef, Global: LLVMValueRef) void*;
fn LLVMGetGlobalValueAddress(EE: LLVMExecutionEngineRef, Name: const(char)*) uint64_t;
fn LLVMGetFunctionAddress(EE: LLVMExecutionEngineRef, Name: const(char)*) uint64_t;
fn LLVMCreateSimpleMCJITMemoryManager(Opaque: void*, AllocateCodeSection: LLVMMemoryManagerAllocateCodeSectionCallback, AllocateDataSection: LLVMMemoryManagerAllocateDataSectionCallback, FinalizeMemory: LLVMMemoryManagerFinalizeMemoryCallback, Destroy: LLVMMemoryManagerDestroyCallback) LLVMMCJITMemoryManagerRef;
fn LLVMDisposeMCJITMemoryManager(MM: LLVMMCJITMemoryManagerRef);