ghc-8.10.0.20191210: 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 UnariseStg.

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 UnariseStg.

LambdaFormInfo

Used by other modules

data CgLoc Source #

Instances

Instances details
Outputable CgLoc # 
Instance details

Defined in GHC.StgToCmm.Closure

ClosureInfo

Inspection

Labels

Predicates

InfoTables