ghc-9.0.0.20201227: The GHC API
Safe HaskellNone
LanguageHaskell2010

GHC.StgToCmm.Closure

Synopsis

Documentation

idPrimRep :: Id -> PrimRep Source #

Assumes that there is precisely one PrimRep of the type. This assumption holds after unarise. See Note [Post-unarisation invariants]

addIdReps :: [NonVoid Id] -> [NonVoid (PrimRep, Id)] Source #

Assumes that Ids have one PrimRep, which holds after unarisation. See Note [Post-unarisation invariants]

addArgReps :: [NonVoid StgArg] -> [NonVoid (PrimRep, StgArg)] Source #

Assumes that arguments have one PrimRep, which holds after unarisation. See Note [Post-unarisation invariants]

argPrimRep :: StgArg -> PrimRep Source #

Assumes that the argument has one PrimRep, which holds after unarisation. See Note [Post-unarisation invariants]

newtype NonVoid a Source #

Constructors

NonVoid a 

Instances

Instances details
Eq a => Eq (NonVoid a) # 
Instance details

Defined in GHC.StgToCmm.Closure

Methods

(==) :: NonVoid a -> NonVoid a -> Bool #

(/=) :: NonVoid a -> NonVoid a -> Bool #

Show a => Show (NonVoid a) # 
Instance details

Defined in GHC.StgToCmm.Closure

Outputable a => Outputable (NonVoid a) # 
Instance details

Defined in GHC.StgToCmm.Closure

assertNonVoidIds :: [Id] -> [NonVoid Id] Source #

Used in places where some invariant ensures that all these Ids are non-void; e.g. constructor field binders in case expressions. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.

assertNonVoidStgArgs :: [StgArg] -> [NonVoid StgArg] Source #

Used in places where some invariant ensures that all these arguments are non-void; e.g. constructor arguments. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.

LambdaFormInfo

data LambdaFormInfo Source #

Information about an identifier, from the code generator's point of view. Every identifier is bound to a LambdaFormInfo in the environment, which gives the code generator enough info to be able to tail call or return that identifier.

Instances

Instances details
Outputable LambdaFormInfo # 
Instance details

Defined in GHC.StgToCmm.Types

data StandardFormInfo Source #

StandardFormInfo tells whether this thunk has one of a small number of standard forms

Used by other modules

data CgLoc Source #

Instances

Instances details
Outputable CgLoc # 
Instance details

Defined in GHC.StgToCmm.Closure

ClosureInfo

Inspection

Labels

Predicates

InfoTables