| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Stg.Pipeline
Synopsis
- data StgPipelineOpts = StgPipelineOpts {}
 - data StgToDo
 - stg2stg :: Logger -> [Var] -> StgPipelineOpts -> Module -> [StgTopBinding] -> IO ([(CgStgTopBinding, IdSet)], StgCgInfos)
 - type StgCgInfos = NameEnv TagSig
 
Documentation
data StgPipelineOpts Source #
Constructors
| StgPipelineOpts | |
Fields 
  | |
Optional Stg-to-Stg passes.
Constructors
| StgCSE | Common subexpression elimination  | 
| StgLiftLams StgLiftConfig | Lambda lifting closure variables, trading stack/register allocation for heap allocation  | 
| StgStats | |
| StgUnarise | Mandatory unarise pass, desugaring unboxed tuple and sum binders  | 
| StgBcPrep | Mandatory when compiling to bytecode  | 
| StgDoNothing | Useful for building up   | 
Arguments
| :: Logger | |
| -> [Var] | extra vars in scope from GHCi  | 
| -> StgPipelineOpts | |
| -> Module | module being compiled  | 
| -> [StgTopBinding] | input program  | 
| -> IO ([(CgStgTopBinding, IdSet)], StgCgInfos) | 
type StgCgInfos = NameEnv TagSig Source #
Information to be exposed in interface files which is produced by the stg2stg passes.