ghc-9.4.0.20220721: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.StgToCmm.Types

Synopsis

Documentation

data CgInfos Source #

Codegen-generated Id infos, to be passed to downstream via interfaces.

This stuff is for optimization purposes only, they're not compulsory.

  • When CafInfo of an imported Id is not known it's safe to treat it as CAFFY.
  • When LambdaFormInfo of an imported Id is not known it's safe to treat it as `LFUnknown True` (which just says "it could be anything" and we do slow entry).

See also Note [Conveying CAF-info and LFInfo between modules] above.

Constructors

CgInfos 

Fields

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 Source # 
Instance details

Defined in GHC.StgToCmm.Types

type ModuleLFInfos = NameEnv LambdaFormInfo Source #

Maps names in the current module to their LambdaFormInfos

data StandardFormInfo Source #

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

Instances

Instances details
Outputable StandardFormInfo Source # 
Instance details

Defined in GHC.StgToCmm.Types

Eq StandardFormInfo Source # 
Instance details

Defined in GHC.StgToCmm.Types