Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- removeModule :: Ptr ExecutionEngine -> Ptr Module -> IO ()
- data ExecutableModule e = ExecutableModule e (Ptr Module)
- class ExecutionEngine e f | e -> f where
- withExecutionEngine :: Context -> Maybe (Ptr Module) -> (Ptr (Ptr ExecutionEngine) -> Ptr Module -> Ptr (OwnerTransfered CString) -> IO CUInt) -> (Ptr ExecutionEngine -> IO a) -> IO a
- data MCJITState
- = Deferred (forall a. Module -> (Ptr ExecutionEngine -> IO a) -> IO a)
- | Constructed (Ptr ExecutionEngine)
- newtype MCJIT = MCJIT (IORef MCJITState)
- withMCJIT :: Context -> Maybe Word -> Maybe Model -> Maybe Bool -> Maybe Bool -> (MCJIT -> IO a) -> IO a
Documentation
removeModule :: Ptr ExecutionEngine -> Ptr Module -> IO () Source #
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.
class ExecutionEngine e f | e -> f where Source #
withModuleInEngine :: e -> Module -> (ExecutableModule e -> IO a) -> IO a Source #
getFunction :: ExecutableModule e -> Name -> IO (Maybe f) Source #
Instances
ExecutionEngine MCJIT (FunPtr ()) Source # | |
Defined in LLVM.Internal.ExecutionEngine withModuleInEngine :: MCJIT -> Module -> (ExecutableModule MCJIT -> IO a) -> IO a Source # getFunction :: ExecutableModule MCJIT -> Name -> IO (Maybe (FunPtr ())) Source # | |
ExecutionEngine (Ptr ExecutionEngine) (FunPtr ()) Source # | |
Defined in LLVM.Internal.ExecutionEngine withModuleInEngine :: Ptr ExecutionEngine -> Module -> (ExecutableModule (Ptr ExecutionEngine) -> IO a) -> IO a Source # getFunction :: ExecutableModule (Ptr ExecutionEngine) -> Name -> IO (Maybe (FunPtr ())) Source # |
withExecutionEngine :: Context -> Maybe (Ptr Module) -> (Ptr (Ptr ExecutionEngine) -> Ptr Module -> Ptr (OwnerTransfered CString) -> IO CUInt) -> (Ptr ExecutionEngine -> IO a) -> IO a Source #
data MCJITState Source #
Deferred (forall a. Module -> (Ptr ExecutionEngine -> IO a) -> IO a) | |
Constructed (Ptr ExecutionEngine) |
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.
Instances
ExecutionEngine MCJIT (FunPtr ()) Source # | |
Defined in LLVM.Internal.ExecutionEngine withModuleInEngine :: MCJIT -> Module -> (ExecutableModule MCJIT -> IO a) -> IO a Source # getFunction :: ExecutableModule MCJIT -> Name -> IO (Maybe (FunPtr ())) Source # |