diff options
author | Tristan Gingold | 2014-11-04 20:14:19 +0100 |
---|---|---|
committer | Tristan Gingold | 2014-11-04 20:14:19 +0100 |
commit | 9c195bf5d86d67ea5eb419ccf6e48dc153e57c68 (patch) | |
tree | 575346e529b99e26382b4a06f6ff2caa0b391ab2 /ortho/llvm/llvm-executionengine.ads | |
parent | 184a123f91e07c927292d67462561dc84f3a920d (diff) | |
download | ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.tar.gz ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.tar.bz2 ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.zip |
Move sources to src/ subdirectory.
Diffstat (limited to 'ortho/llvm/llvm-executionengine.ads')
-rw-r--r-- | ortho/llvm/llvm-executionengine.ads | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/ortho/llvm/llvm-executionengine.ads b/ortho/llvm/llvm-executionengine.ads deleted file mode 100644 index 72d4cda..0000000 --- a/ortho/llvm/llvm-executionengine.ads +++ /dev/null @@ -1,163 +0,0 @@ --- LLVM binding --- Copyright (C) 2014 Tristan Gingold --- --- GHDL is free software; you can redistribute it and/or modify it under --- the terms of the GNU General Public License as published by the Free --- Software Foundation; either version 2, or (at your option) any later --- version. --- --- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY --- WARRANTY; without even the implied warranty of MERCHANTABILITY or --- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --- for more details. --- --- You should have received a copy of the GNU General Public License --- along with GHDL; see the file COPYING. If not, write to the Free --- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --- 02111-1307, USA. -with System; use System; -with Interfaces; use Interfaces; -with Interfaces.C; use Interfaces.C; -with LLVM.Core; use LLVM.Core; -with LLVM.Target; use LLVM.Target; - -package LLVM.ExecutionEngine is - type GenericValueRef is new Address; - type GenericValueRefArray is array (unsigned range <>) of GenericValueRef; - pragma Convention (C, GenericValueRefArray); - type ExecutionEngineRef is new Address; - - procedure LinkInJIT; - procedure LinkInMCJIT; - procedure LinkInInterpreter; - - -- Operations on generic values -------------------------------------- - - function CreateGenericValueOfInt(Ty : TypeRef; - N : Unsigned_64; - IsSigned : Integer) - return GenericValueRef; - - function CreateGenericValueOfPointer(P : System.Address) - return GenericValueRef; - - function CreateGenericValueOfFloat(Ty : TypeRef; N : double) - return GenericValueRef; - - function GenericValueIntWidth(GenValRef : GenericValueRef) - return unsigned; - - function GenericValueToInt(GenVal : GenericValueRef; - IsSigned : Integer) return Unsigned_64; - - function GenericValueToPointer(GenVal : GenericValueRef) - return System.Address; - - function GenericValueToFloat(TyRef : TypeRef; GenVal : GenericValueRef) - return double; - - procedure DisposeGenericValue(GenVal : GenericValueRef); - - -- Operations on execution engines ----------------------------------- - - function CreateExecutionEngineForModule - (EE : access ExecutionEngineRef; M : ModuleRef; Error : access Cstring) - return Bool; - - function CreateInterpreterForModule (Interp : access ExecutionEngineRef; - M : ModuleRef; - Error : access Cstring) - return Bool; - - function CreateJITCompilerForModule (JIT : access ExecutionEngineRef; - M : ModuleRef; - OptLevel : unsigned; - Error : access Cstring) - return Bool; - - - procedure DisposeExecutionEngine(EE : ExecutionEngineRef); - - procedure RunStaticConstructors(EE : ExecutionEngineRef); - - procedure RunStaticDestructors(EE : ExecutionEngineRef); - - function RunFunctionAsMain(EE : ExecutionEngineRef; - F : ValueRef; - ArgC : unsigned; Argv : Address; EnvP : Address) - return Integer; - - function RunFunction(EE : ExecutionEngineRef; - F : ValueRef; - NumArgs : unsigned; - Args : GenericValueRefArray) - return GenericValueRef; - - procedure FreeMachineCodeForFunction(EE : ExecutionEngineRef; F : ValueRef); - - procedure AddModule(EE : ExecutionEngineRef; M : ModuleRef); - - function RemoveModule(EE : ExecutionEngineRef; - M : ModuleRef; - OutMod : access ModuleRef; - OutError : access Cstring) return Bool; - - function FindFunction(EE : ExecutionEngineRef; Name : Cstring; - OutFn : access ValueRef) - return Integer; - - function GetExecutionEngineTargetData(EE : ExecutionEngineRef) - return TargetDataRef; - - procedure AddGlobalMapping(EE : ExecutionEngineRef; Global : ValueRef; - Addr : Address); - - function GetPointerToGlobal (EE : ExecutionEngineRef; GV : ValueRef) - return Address; - function GetPointerToFunctionOrStub (EE : ExecutionEngineRef; - Func : ValueRef) - return Address; - -private - pragma Import (C, LinkInJIT, "LLVMLinkInJIT"); - pragma Import (C, LinkInMCJIT, "LLVMLinkInMCJIT"); - pragma Import (C, LinkInInterpreter, "LLVMLinkInInterpreter"); - - pragma Import (C, CreateGenericValueOfInt, "LLVMCreateGenericValueOfInt"); - pragma Import (C, CreateGenericValueOfPointer, - "LLVMCreateGenericValueOfPointer"); - pragma Import (C, CreateGenericValueOfFloat, - "LLVMCreateGenericValueOfFloat"); - pragma Import (C, GenericValueIntWidth, "LLVMGenericValueIntWidth"); - pragma Import (C, GenericValueToInt, "LLVMGenericValueToInt"); - pragma Import (C, GenericValueToPointer, "LLVMGenericValueToPointer"); - pragma Import (C, GenericValueToFloat, "LLVMGenericValueToFloat"); - pragma Import (C, DisposeGenericValue, "LLVMDisposeGenericValue"); - - -- Operations on execution engines ----------------------------------- - - pragma Import (C, CreateExecutionEngineForModule, - "LLVMCreateExecutionEngineForModule"); - pragma Import (C, CreateInterpreterForModule, - "LLVMCreateInterpreterForModule"); - pragma Import (C, CreateJITCompilerForModule, - "LLVMCreateJITCompilerForModule"); - pragma Import (C, DisposeExecutionEngine, "LLVMDisposeExecutionEngine"); - pragma Import (C, RunStaticConstructors, "LLVMRunStaticConstructors"); - pragma Import (C, RunStaticDestructors, "LLVMRunStaticDestructors"); - pragma Import (C, RunFunctionAsMain, "LLVMRunFunctionAsMain"); - pragma Import (C, RunFunction, "LLVMRunFunction"); - pragma Import (C, FreeMachineCodeForFunction, - "LLVMFreeMachineCodeForFunction"); - pragma Import (C, AddModule, "LLVMAddModule"); - pragma Import (C, RemoveModule, "LLVMRemoveModule"); - pragma Import (C, FindFunction, "LLVMFindFunction"); - pragma Import (C, GetExecutionEngineTargetData, - "LLVMGetExecutionEngineTargetData"); - pragma Import (C, AddGlobalMapping, "LLVMAddGlobalMapping"); - - pragma Import (C, GetPointerToFunctionOrStub, - "LLVMGetPointerToFunctionOrStub"); - pragma Import (C, GetPointerToGlobal, - "LLVMGetPointerToGlobal"); -end LLVM.ExecutionEngine; |