HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleghc-9.10.3GHC2021

GHC.Cmm.Expr

  • 11 types
  • 2 classes
  • 38 values
  • Packageghc-9.10.3
  • Exports53
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceExpr.hs

Returns an alignment in bytes of a CmmExpr when it's a statically known integer constant, otherwise returns an alignment of 1 byte. The caller is responsible for using with a sensible CmmExpr argument.

datadata CmmReg
#
Instances10Eq, Ord, Show, Outputable, DefinerOfRegs, UserOfRegs, …
datadata LocalReg
#

Constructors

Instances9Eq, Ord, Show, Outputable, Uniquable, DefinerOfRegs, …
datadata 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].

Instances9Eq, Ord, Show, Outputable, OutputableP, DefinerOfRegs, …
datadata 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

Instances6Eq, Ord, Show, Outputable, DefinerOfRegs, UserOfRegs
classclass Ord r => DefinerOfRegs r a where
#
Instances7DefinerOfRegs, …
classclass Ord r => UserOfRegs r a where
#
Instances9UserOfRegs, …
datadata Area
#

A stack area is either the stack slot where a variable is spilled or the stack space where function arguments and results are passed.

Constructors

Instances4Eq, Ord, Show, Outputable
  • Eq AreaDefined in ghc-9.10.3 · GHC.Cmm.Expr
  • Ord AreaDefined in ghc-9.10.3 · GHC.Cmm.Expr
  • Show AreaDefined in ghc-9.10.3 · GHC.Cmm.Expr
  • Outputable AreaDefined in ghc-9.10.3 · GHC.Cmm.Expr