ghc-lib-parser-9.0.2.20211226: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.Types.Cpr

Description

Types for the Constructed Product Result lattice. GHC.Core.Opt.CprAnal and GHC.Core.Opt.WorkWrap.Utils are its primary customers via idCprInfo.

Synopsis

Documentation

data CprResult Source #

The constructed product result lattice.

                   NoCPR
                     |
                ConCPR ConTag
                     |
                   BotCPR

Instances

Instances details
Eq CprResult Source # 
Instance details

Defined in GHC.Types.Cpr

Show CprResult Source # 
Instance details

Defined in GHC.Types.Cpr

Outputable CprResult Source # 
Instance details

Defined in GHC.Types.Cpr

Binary CprResult Source # 
Instance details

Defined in GHC.Types.Cpr

data CprType Source #

The abstract domain \(A_t\) from the original 'CPR for Haskell' paper.

Constructors

CprType 

Fields

Instances

Instances details
Eq CprType Source # 
Instance details

Defined in GHC.Types.Cpr

Methods

(==) :: CprType -> CprType -> Bool #

(/=) :: CprType -> CprType -> Bool #

Outputable CprType Source # 
Instance details

Defined in GHC.Types.Cpr

Binary CprType Source # 
Instance details

Defined in GHC.Types.Cpr

newtype CprSig Source #

The arity of the wrapped CprType is the arity at which it is safe to unleash. See Note [Understanding DmdType and StrictSig] in GHC.Types.Demand

Constructors

CprSig 

Fields

Instances

Instances details
Eq CprSig Source # 
Instance details

Defined in GHC.Types.Cpr

Methods

(==) :: CprSig -> CprSig -> Bool #

(/=) :: CprSig -> CprSig -> Bool #

Outputable CprSig Source #

Only print the CPR result

Instance details

Defined in GHC.Types.Cpr

Binary CprSig Source # 
Instance details

Defined in GHC.Types.Cpr

mkCprSigForArity :: Arity -> CprType -> CprSig Source #

Turns a CprType computed for the particular Arity into a CprSig unleashable at that arity. See Note [Understanding DmdType and StrictSig] in GHC.Types.Demand