Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data IRCompileLayer linkingLayer = IRCompileLayer {
- compileLayer :: !(Ptr IRCompileLayer)
- dataLayout :: !(Ptr DataLayout)
- cleanupActions :: !(IORef [IO ()])
- newIRCompileLayer :: LinkingLayer l => l -> TargetMachine -> IO (IRCompileLayer l)
- withIRCompileLayer :: LinkingLayer l => l -> TargetMachine -> (IRCompileLayer l -> IO a) -> IO a
Documentation
data IRCompileLayer linkingLayer Source #
IRCompileLayer
compiles modules immediately when they are
added. It parametrized by a LinkingLayer
which handles linking of
the generated object files.
IRCompileLayer | |
|
Instances
Eq (IRCompileLayer linkingLayer) Source # | |
Defined in LLVM.Internal.OrcJIT.IRCompileLayer (==) :: IRCompileLayer linkingLayer -> IRCompileLayer linkingLayer -> Bool # (/=) :: IRCompileLayer linkingLayer -> IRCompileLayer linkingLayer -> Bool # | |
CompileLayer (IRCompileLayer l) Source # | |
Defined in LLVM.Internal.OrcJIT.IRCompileLayer getCompileLayer :: IRCompileLayer l -> Ptr CompileLayer Source # getDataLayout :: IRCompileLayer l -> Ptr DataLayout Source # getCleanups :: IRCompileLayer l -> IORef [IO ()] Source # |
newIRCompileLayer :: LinkingLayer l => l -> TargetMachine -> IO (IRCompileLayer l) Source #
Create a new IRCompileLayer
.
When the layer is no longer needed, it should be disposed using 'disposeCompileLayer.
withIRCompileLayer :: LinkingLayer l => l -> TargetMachine -> (IRCompileLayer l -> IO a) -> IO a Source #
bracket
-style wrapper around newIRCompileLayer
and disposeCompileLayer
.