]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/llvm/engine/engine.factor
e6533683322871d0bc2b264111bc1f119d7e05af
[factor.git] / unmaintained / llvm / engine / engine.factor
1 ! Copyright (C) 2009 Matthew Willis.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.c-types alien.libraries alien.syntax kernel
4 llvm.core sequences ;
5 IN: llvm.engine
6
7 <<
8 {
9     "LLVMExecutionEngine" "LLVMTarget" "LLVMAnalysis" "LLVMipa"
10     "LLVMTransformUtils" "LLVMScalarOpts" "LLVMCodeGen"
11     "LLVMAsmPrinter" "LLVMSelectionDAG" "LLVMX86CodeGen"
12     "LLVMJIT" "LLVMInterpreter"
13 } [ add-llvm-library ] each
14 >>
15
16 ! llvm-c/ExecutionEngine.h
17
18 LIBRARY: LLVMExecutionEngine
19
20 TYPEDEF: void* LLVMGenericValueRef
21 TYPEDEF: void* LLVMExecutionEngineRef
22
23 FUNCTION: LLVMGenericValueRef LLVMCreateGenericValueOfInt
24 ( LLVMTypeRef Ty, ulonglong N, int IsSigned ) ;
25
26 FUNCTION: ulonglong LLVMGenericValueToInt
27 ( LLVMGenericValueRef GenVal, int IsSigned ) ;
28
29 FUNCTION: int LLVMCreateExecutionEngine
30 ( LLVMExecutionEngineRef *OutEE, LLVMModuleProviderRef MP, c-string* OutError ) ;
31
32 FUNCTION: int LLVMCreateJITCompiler
33 ( LLVMExecutionEngineRef* OutJIT, LLVMModuleProviderRef MP, unsigned OptLevel, c-string* OutError ) ;
34
35 FUNCTION: void LLVMDisposeExecutionEngine ( LLVMExecutionEngineRef EE ) ;
36
37 FUNCTION: void LLVMFreeMachineCodeForFunction ( LLVMExecutionEngineRef EE, LLVMValueRef F ) ;
38
39 FUNCTION: void LLVMAddModuleProvider ( LLVMExecutionEngineRef EE, LLVMModuleProviderRef MP ) ;
40
41 FUNCTION: int LLVMRemoveModuleProvider
42 ( LLVMExecutionEngineRef EE, LLVMModuleProviderRef MP, LLVMModuleRef* OutMod, c-string* OutError ) ;
43
44 FUNCTION: int LLVMFindFunction
45 ( LLVMExecutionEngineRef EE, c-string Name, LLVMValueRef* OutFn ) ;
46
47 FUNCTION: void* LLVMGetPointerToGlobal ( LLVMExecutionEngineRef EE, LLVMValueRef Global ) ;
48
49 FUNCTION: LLVMGenericValueRef LLVMRunFunction
50 ( LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned NumArgs, LLVMGenericValueRef* Args ) ;