ghc-9.14.1.20260916: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Stg.EnforceEpt.Types

Synopsis

Documentation

combineAltInfo :: TagInfo -> TagInfo -> TagInfo Source #

Combine TagInfo from the alternatives of a case expression. Note that this operates at the value level: case alternatives return values. See Note [TagSig and TagInfo].

extendSigEnv :: forall (p :: StgPass). TagEnv p -> [(Id, TagSig)] -> TagEnv p Source #

Extend the tag environment.

getBinderId :: forall (p :: StgPass). TagEnv p -> BinderP p -> Id Source #

lookupInfo :: forall (p :: StgPass). TagEnv p -> StgArg -> TagInfo Source #

Look up a value-level tag for an argument: either from the env (where a function-typed argument flattens to TagEPT — its closure is tagged) or derived from information on the variable itself.

lookupReturnInfo :: forall (p :: StgPass). TagEnv p -> Id -> Maybe TagInfo Source #

Look up the return-value tag of a function for saturated call analysis. Returns 'Just retInfo' if the function binding has a TagFun signature, Nothing otherwise.

makeTagged :: forall (p :: StgPass). TagEnv p -> TagEnv 'InferTaggedBinders Source #

Simple convert env to a env of the 'InferTaggedBinders pass with no other changes.

noSig :: forall (p :: StgPass). TagEnv p -> BinderP p -> (Id, TagSig) Source #

data TagEnv (p :: StgPass) Source #

Constructors

TE 

Fields

Instances

Instances details
Outputable (TagEnv p) Source # 
Instance details

Defined in GHC.Stg.EnforceEpt.Types

Methods

ppr :: TagEnv p -> SDoc Source #