Safe Haskell | None |
---|---|
Language | Haskell98 |
- 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 | |
|
Eq (IRCompileLayer linkingLayer) Source # | |
CompileLayer (IRCompileLayer l) 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
.