ghc-9.10.1: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Stg.Lift.Types

Synopsis

Documentation

data Skeleton Source #

Captures details of the syntax tree relevant to the cost model, such as closures, multi-shot lambdas and case expressions.

Constructors

ClosureSk 

Fields

RhsSk 

Fields

AltSk !Skeleton !Skeleton 
BothSk !Skeleton !Skeleton 
NilSk 

Instances

Instances details
Outputable Skeleton Source # 
Instance details

Defined in GHC.Stg.Lift.Types

Methods

ppr :: Skeleton -> SDoc Source #

data BinderInfo Source #

The type used in binder positions in GenStgExprs.

Constructors

BindsClosure !Id !Bool

Let(-no-escape)-bound thing with a flag indicating whether it occurs as an argument or in a nullary application (see GHC.Stg.Lift.Analysis).

BoringBinder !Id

Every other kind of binder

binderInfoBndr :: BinderInfo -> Id Source #

Gets the bound Id out a BinderInfo.

binderInfoOccursAsArg :: BinderInfo -> Maybe Bool Source #

Returns Nothing for BoringBinders and Just the flag indicating occurrences as argument or in a nullary applications otherwise.