ghc-9.10.0.20240426: 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

Instances

Instances details
Read StgToDo Source # 
Instance details

Defined in GHC.Stg.Pipeline

Show StgToDo Source # 
Instance details

Defined in GHC.Stg.Pipeline

Eq StgToDo Source # 
Instance details

Defined in GHC.Stg.Pipeline

Methods

(==) :: StgToDo -> StgToDo -> Bool #

(/=) :: StgToDo -> StgToDo -> Bool #

Ord StgToDo Source # 
Instance details

Defined in GHC.Stg.Pipeline

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.