ghc-lib-parser-9.8.1.20231009: The GHC API, decoupled from GHC versions
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Cmm.Reg

Synopsis

Cmm Registers

data CmmReg #

Instances

Instances details
Show CmmReg # 
Instance details

Defined in GHC.Cmm.Reg

Outputable CmmReg # 
Instance details

Defined in GHC.Cmm.Reg

Methods

ppr :: CmmReg -> SDoc #

Eq CmmReg # 
Instance details

Defined in GHC.Cmm.Reg

Methods

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

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

Ord CmmReg # 
Instance details

Defined in GHC.Cmm.Reg

DefinerOfRegs GlobalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsDefd :: Platform -> (b -> GlobalReg -> b) -> b -> CmmReg -> b #

DefinerOfRegs GlobalRegUse CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsDefd :: Platform -> (b -> GlobalRegUse -> b) -> b -> CmmReg -> b #

DefinerOfRegs LocalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsDefd :: Platform -> (b -> LocalReg -> b) -> b -> CmmReg -> b #

UserOfRegs GlobalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsUsed :: Platform -> (b -> GlobalReg -> b) -> b -> CmmReg -> b #

UserOfRegs GlobalRegUse CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsUsed :: Platform -> (b -> GlobalRegUse -> b) -> b -> CmmReg -> b #

UserOfRegs LocalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsUsed :: Platform -> (b -> LocalReg -> b) -> b -> CmmReg -> b #

Local registers

data LocalReg #

Constructors

LocalReg !Unique !CmmType

Parameters: 1. Identifier 2. Type

Instances

Instances details
Show LocalReg # 
Instance details

Defined in GHC.Cmm.Reg

Uniquable LocalReg # 
Instance details

Defined in GHC.Cmm.Reg

Methods

getUnique :: LocalReg -> Unique #

Outputable LocalReg # 
Instance details

Defined in GHC.Cmm.Reg

Methods

ppr :: LocalReg -> SDoc #

Eq LocalReg # 
Instance details

Defined in GHC.Cmm.Reg

Ord LocalReg # 
Instance details

Defined in GHC.Cmm.Reg

DefinerOfRegs LocalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsDefd :: Platform -> (b -> LocalReg -> b) -> b -> CmmReg -> b #

UserOfRegs LocalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsUsed :: Platform -> (b -> LocalReg -> b) -> b -> CmmReg -> b #

DefinerOfRegs LocalReg (CmmNode e x) # 
Instance details

Defined in GHC.Cmm.Node

Methods

foldRegsDefd :: Platform -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b #

UserOfRegs LocalReg (CmmNode e x) # 
Instance details

Defined in GHC.Cmm.Node

Methods

foldRegsUsed :: Platform -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b #

Global registers

data GlobalReg #

An abstract global register for the STG machine.

See also GlobalRegUse, which denotes a usage of a register at a particular type (e.g. using a 32-bit wide register to store an 8-bit wide value), as per Note [GlobalReg vs GlobalRegUse].

Instances

Instances details
Show GlobalReg # 
Instance details

Defined in GHC.Cmm.Reg

Outputable GlobalReg # 
Instance details

Defined in GHC.Cmm.Reg

Methods

ppr :: GlobalReg -> SDoc #

Eq GlobalReg # 
Instance details

Defined in GHC.Cmm.Reg

Ord GlobalReg # 
Instance details

Defined in GHC.Cmm.Reg

DefinerOfRegs GlobalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsDefd :: Platform -> (b -> GlobalReg -> b) -> b -> CmmReg -> b #

UserOfRegs GlobalReg CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsUsed :: Platform -> (b -> GlobalReg -> b) -> b -> CmmReg -> b #

OutputableP env GlobalReg # 
Instance details

Defined in GHC.Cmm.Reg

Methods

pdoc :: env -> GlobalReg -> SDoc #

DefinerOfRegs GlobalReg (CmmNode e x) # 
Instance details

Defined in GHC.Cmm.Node

Methods

foldRegsDefd :: Platform -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b #

UserOfRegs GlobalReg (CmmNode e x) # 
Instance details

Defined in GHC.Cmm.Node

Methods

foldRegsUsed :: Platform -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b #

pprGlobalReg :: IsLine doc => GlobalReg -> doc #

data GlobalRegUse #

A use of a global register at a particular type.

While a GlobalReg identifies a global register in the STG machine, a GlobalRegUse also contains information about the type we are storing in the register.

See Note [GlobalReg vs GlobalRegUse] for more information.

Constructors

GlobalRegUse 

Fields

Instances

Instances details
Show GlobalRegUse # 
Instance details

Defined in GHC.Cmm.Reg

Outputable GlobalRegUse # 
Instance details

Defined in GHC.Cmm.Reg

Methods

ppr :: GlobalRegUse -> SDoc #

Eq GlobalRegUse # 
Instance details

Defined in GHC.Cmm.Reg

Ord GlobalRegUse # 
Instance details

Defined in GHC.Cmm.Reg

DefinerOfRegs GlobalRegUse CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsDefd :: Platform -> (b -> GlobalRegUse -> b) -> b -> CmmReg -> b #

UserOfRegs GlobalRegUse CmmReg # 
Instance details

Defined in GHC.Cmm.Expr

Methods

foldRegsUsed :: Platform -> (b -> GlobalRegUse -> b) -> b -> CmmReg -> b #