ghc-9.15: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Stg.Pipeline

Synopsis

Documentation

data StgPipelineOpts Source #

Constructors

StgPipelineOpts 

Fields

data StgToDo Source #

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 getStgToDo

stg2stg Source #

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.