19#ifndef LLVM_C_EXECUTIONENGINE_H 
   20#define LLVM_C_EXECUTIONENGINE_H 
   93                               unsigned OptLevel, 
char **OutError);
 
   97                                   size_t SizeOfOptions);
 
  128                                     unsigned ArgC, 
const char *
const *ArgV,
 
  129                                     const char *
const *EnvP);
 
  173typedef uint8_t *(*LLVMMemoryManagerAllocateCodeSectionCallback)(
 
  174  void *Opaque, uintptr_t 
Size, 
unsigned Alignment, 
unsigned SectionID,
 
  175  const char *SectionName);
 
  176typedef uint8_t *(*LLVMMemoryManagerAllocateDataSectionCallback)(
 
  177  void *Opaque, uintptr_t 
Size, 
unsigned Alignment, 
unsigned SectionID,
 
  178  const char *SectionName, 
LLVMBool IsReadOnly);
 
  180  void *Opaque, 
char **ErrMsg);
 
#define LLVM_C_EXTERN_C_BEGIN
 
#define LLVM_C_EXTERN_C_END
 
#define LLVM_C_ABI
LLVM_C_ABI is the export/visibility macro used to mark symbols declared in llvm-c as exported when bu...
 
LLVM_C_ABI uint64_t LLVMGetGlobalValueAddress(LLVMExecutionEngineRef EE, const char *Name)
 
LLVM_C_ABI void * LLVMRecompileAndRelinkFunction(LLVMExecutionEngineRef EE, LLVMValueRef Fn)
 
LLVM_C_ABI void LLVMAddGlobalMapping(LLVMExecutionEngineRef EE, LLVMValueRef Global, void *Addr)
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener(void)
 
LLVM_C_ABI LLVMGenericValueRef LLVMRunFunction(LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned NumArgs, LLVMGenericValueRef *Args)
 
LLVM_C_ABI LLVMJITEventListenerRef LLVMCreateIntelJITEventListener(void)
 
LLVM_C_ABI LLVMJITEventListenerRef LLVMCreatePerfJITEventListener(void)
 
LLVM_C_ABI unsigned long long LLVMGenericValueToInt(LLVMGenericValueRef GenVal, LLVMBool IsSigned)
 
LLVM_C_ABI void LLVMFreeMachineCodeForFunction(LLVMExecutionEngineRef EE, LLVMValueRef F)
 
LLVM_C_ABI void LLVMDisposeMCJITMemoryManager(LLVMMCJITMemoryManagerRef MM)
 
LLVM_C_ABI void LLVMLinkInInterpreter(void)
Empty function used to force the linker to link the LLVM interpreter.
 
LLVM_C_ABI LLVMBool LLVMCreateExecutionEngineForModule(LLVMExecutionEngineRef *OutEE, LLVMModuleRef M, char **OutError)
 
struct LLVMOpaqueMCJITMemoryManager * LLVMMCJITMemoryManagerRef
 
LLVM_C_ABI void * LLVMGetPointerToGlobal(LLVMExecutionEngineRef EE, LLVMValueRef Global)
 
void(* LLVMMemoryManagerDestroyCallback)(void *Opaque)
 
LLVM_C_ABI uint64_t LLVMGetFunctionAddress(LLVMExecutionEngineRef EE, const char *Name)
 
struct LLVMOpaqueExecutionEngine * LLVMExecutionEngineRef
 
LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfInt(LLVMTypeRef Ty, unsigned long long N, LLVMBool IsSigned)
 
LLVM_C_ABI int LLVMRunFunctionAsMain(LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned ArgC, const char *const *ArgV, const char *const *EnvP)
 
LLVM_C_ABI LLVMTargetMachineRef LLVMGetExecutionEngineTargetMachine(LLVMExecutionEngineRef EE)
 
LLVM_C_ABI void LLVMDisposeExecutionEngine(LLVMExecutionEngineRef EE)
 
LLVM_C_ABI double LLVMGenericValueToFloat(LLVMTypeRef TyRef, LLVMGenericValueRef GenVal)
 
LLVM_C_ABI LLVMBool LLVMRemoveModule(LLVMExecutionEngineRef EE, LLVMModuleRef M, LLVMModuleRef *OutMod, char **OutError)
 
LLVM_C_ABI void LLVMLinkInMCJIT(void)
Empty function used to force the linker to link MCJIT.
 
LLVM_C_ABI LLVMTargetDataRef LLVMGetExecutionEngineTargetData(LLVMExecutionEngineRef EE)
 
LLVM_C_ABI void LLVMDisposeGenericValue(LLVMGenericValueRef GenVal)
 
LLVM_C_ABI LLVMBool LLVMCreateInterpreterForModule(LLVMExecutionEngineRef *OutInterp, LLVMModuleRef M, char **OutError)
 
struct LLVMOpaqueGenericValue * LLVMGenericValueRef
 
LLVMBool(* LLVMMemoryManagerFinalizeMemoryCallback)(void *Opaque, char **ErrMsg)
 
LLVM_C_ABI LLVMBool LLVMExecutionEngineGetErrMsg(LLVMExecutionEngineRef EE, char **OutError)
Returns true on error, false on success.
 
LLVM_C_ABI void LLVMRunStaticConstructors(LLVMExecutionEngineRef EE)
 
LLVM_C_ABI void LLVMAddModule(LLVMExecutionEngineRef EE, LLVMModuleRef M)
 
LLVM_C_ABI void LLVMInitializeMCJITCompilerOptions(struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions)
 
LLVM_C_ABI LLVMBool LLVMFindFunction(LLVMExecutionEngineRef EE, const char *Name, LLVMValueRef *OutFn)
 
uint8_t *(* LLVMMemoryManagerAllocateDataSectionCallback)(void *Opaque, uintptr_t Size, unsigned Alignment, unsigned SectionID, const char *SectionName, LLVMBool IsReadOnly)
 
LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfPointer(void *P)
 
LLVM_C_ABI unsigned LLVMGenericValueIntWidth(LLVMGenericValueRef GenValRef)
 
LLVM_C_ABI void * LLVMGenericValueToPointer(LLVMGenericValueRef GenVal)
 
LLVM_C_ABI LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager(void *Opaque, LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection, LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection, LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory, LLVMMemoryManagerDestroyCallback Destroy)
Create a simple custom MCJIT memory manager.
 
uint8_t *(* LLVMMemoryManagerAllocateCodeSectionCallback)(void *Opaque, uintptr_t Size, unsigned Alignment, unsigned SectionID, const char *SectionName)
 
LLVM_C_ABI LLVMBool LLVMCreateJITCompilerForModule(LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M, unsigned OptLevel, char **OutError)
 
LLVM_C_ABI LLVMJITEventListenerRef LLVMCreateGDBRegistrationListener(void)
 
LLVM_C_ABI void LLVMRunStaticDestructors(LLVMExecutionEngineRef EE)
 
LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfFloat(LLVMTypeRef Ty, double N)
 
struct LLVMOpaqueValue * LLVMValueRef
Represents an individual value in LLVM IR.
 
struct LLVMOpaqueType * LLVMTypeRef
Each value in the LLVM IR has a type, an LLVMTypeRef.
 
struct LLVMOpaqueModule * LLVMModuleRef
The top-level container for all other LLVM Intermediate Representation (IR) objects.
 
struct LLVMOpaqueJITEventListener * LLVMJITEventListenerRef
 
struct LLVMOpaqueTargetMachine * LLVMTargetMachineRef
 
struct LLVMOpaqueTargetData * LLVMTargetDataRef
 
LLVMBool NoFramePointerElim
 
LLVMMCJITMemoryManagerRef MCJMM