llvm-hs-6.0.0: General purpose LLVM bindings

Safe HaskellNone
LanguageHaskell98

LLVM.Internal.ExecutionEngine

Synopsis

Documentation

data ExecutableModule e Source #

a ExecutableModule e represents a Module which is currently "in" an ExecutionEngine, and so the functions of which may be executed.

Constructors

ExecutableModule e (Ptr Module) 

data MCJITState Source #

Constructors

Deferred (forall a. Module -> (Ptr ExecutionEngine -> IO a) -> IO a) 
Constructed (Ptr ExecutionEngine) 

newtype MCJIT Source #

http://llvm.org/doxygen/classllvm_1_1MCJIT.html http://blog.llvm.org/2010/04/intro-to-llvm-mc-project.html N.B. - the LLVM MCJIT does not current support adding multiple modules to any one instance of the MCJIT.

Constructors

MCJIT (IORef MCJITState) 

withMCJIT Source #

Arguments

:: Context 
-> Maybe Word

optimization level

-> Maybe Model 
-> Maybe Bool

True to disable frame pointer elimination

-> Maybe Bool

True to enable fast instruction selection -> Maybe MemoryManager -- llvm-hs doesn't support this yet

-> (MCJIT -> IO a) 
-> IO a 

bracket the creation and destruction of an MCJIT