ghc-9.12.4.20261102: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Stg.InferTags.Types

Synopsis

Documentation

argTagInfo :: Bool -> Maybe TagSig -> StgArg -> TagInfo Source #

Look up a value-level tag.

If the tag info is completely determined by Id info we use that tag. If the tag info is dependent on the analysis/call site use the passed TagSig. If the passed TagSig is Nothing we fall back to safe tag info based on id properties.

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 #

Get tag info using the environment.

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.InferTags.Types

Methods

ppr :: TagEnv p -> SDoc Source #