GHC.Cmm.Expr

ghc-lib-parser-9.10.1.20250103: The GHC API, decoupled from GHC versions

Safe Haskell | Ignore
Language | GHC2021

GHC.Cmm.Expr

Synopsis

- data CmmExpr
  - = CmmLit !CmmLit
  - | CmmLoad !CmmExpr !CmmType !AlignmentSpec
  - | CmmReg !CmmReg
  - | CmmMachOp MachOp [CmmExpr]
  - | CmmStackSlot Area !Int
  - | CmmRegOff !CmmReg !Int
- cmmExprType :: Platform -> CmmExpr -> CmmType
- cmmExprWidth :: Platform -> CmmExpr -> Width
- cmmExprAlignment :: CmmExpr -> Alignment
- maybeInvertCmmExpr :: CmmExpr -> Maybe CmmExpr
- data CmmReg
  - = CmmLocal !LocalReg
  - | CmmGlobal GlobalRegUse
- cmmRegType :: CmmReg -> CmmType
- cmmRegWidth :: CmmReg -> Width
- data CmmLit
  - = CmmInt !Integer !Width
  - | CmmFloat Rational !Width
  - | CmmVec [CmmLit]
  - | CmmLabel CLabel
  - | CmmLabelOff CLabel !Int
  - | CmmLabelDiffOff CLabel CLabel !Int !Width
  - | CmmBlock !BlockId
  - | CmmHighStackMark
- cmmLitType :: Platform -> CmmLit -> CmmType
- data AlignmentSpec
  - = NaturallyAligned
  - | Unaligned
- data LocalReg = LocalReg !Unique !CmmType
- localRegType :: LocalReg -> CmmType
- data GlobalReg
  - = VanillaReg !Int
  - | FloatReg !Int
  - | DoubleReg !Int
  - | LongReg !Int
  - | XmmReg !Int
  - | YmmReg !Int
  - | ZmmReg !Int
  - | Sp
  - | SpLim
  - | Hp
  - | HpLim
  - | CCCS
  - | CurrentTSO
  - | CurrentNursery
  - | HpAlloc
  - | EagerBlackholeInfo
  - | GCEnter1
  - | GCFun
  - | BaseReg
  - | MachSp
  - | UnwindReturnReg
  - | PicBaseReg
- isArgReg :: GlobalReg -> Bool
- globalRegSpillType :: Platform -> GlobalReg -> CmmType
- data GlobalRegUse = GlobalRegUse {
  - globalRegUseGlobalReg :: !GlobalReg
  - globalRegUseType :: !CmmType
  }
- spReg :: Platform -> CmmReg
- hpReg :: Platform -> CmmReg
- spLimReg :: Platform -> CmmReg
- hpLimReg :: Platform -> CmmReg
- nodeReg :: Platform -> CmmReg
- currentTSOReg :: Platform -> CmmReg
- currentNurseryReg :: Platform -> CmmReg
- hpAllocReg :: Platform -> CmmReg
- cccsReg :: Platform -> CmmReg
- node :: GlobalReg
- baseReg :: Platform -> CmmReg
- class Ord r => DefinerOfRegs r a
- class Ord r => UserOfRegs r a
- foldRegsDefd :: DefinerOfRegs r a => Platform -> (b -> r -> b) -> b -> a -> b
- foldRegsUsed :: UserOfRegs r a => Platform -> (b -> r -> b) -> b -> a -> b
- foldLocalRegsDefd :: DefinerOfRegs LocalReg a => Platform -> (b -> LocalReg -> b) -> b -> a -> b
- foldLocalRegsUsed :: UserOfRegs LocalReg a => Platform -> (b -> LocalReg -> b) -> b -> a -> b
- type RegSet r = Set r
- type LocalRegSet = RegSet LocalReg
- type GlobalRegSet = RegSet GlobalReg
- emptyRegSet :: RegSet r
- elemRegSet :: Ord r => r -> RegSet r -> Bool
- extendRegSet :: Ord r => RegSet r -> r -> RegSet r
- deleteFromRegSet :: Ord r => RegSet r -> r -> RegSet r
- mkRegSet :: Ord r => [r] -> RegSet r
- plusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r
- minusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r
- timesRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r
- sizeRegSet :: RegSet r -> Int
- nullRegSet :: RegSet r -> Bool
- regSetToList :: RegSet r -> [r]
- isTrivialCmmExpr :: CmmExpr -> Bool
- hasNoGlobalRegs :: CmmExpr -> Bool
- isLit :: CmmExpr -> Bool
- isComparisonExpr :: CmmExpr -> Bool
- data Area
  - = Old
  - | Young !BlockId
- module GHC.Cmm.MachOp
- module GHC.Cmm.Type

# Documentation

data CmmExpr #

Constructors

CmmLit !CmmLit |
CmmLoad !CmmExpr !CmmType !AlignmentSpec |
CmmReg !CmmReg |
CmmMachOp MachOp [CmmExpr] |
CmmStackSlot Area !Int |
CmmRegOff !CmmReg !Int |

#### Instances

Instances details

Show CmmExpr # |
Instance details Defined in GHC.Cmm.Expr Methods showsPrec :: Int -> CmmExpr -> ShowS # show :: CmmExpr -> String # showList :: [CmmExpr] -> ShowS #
Eq CmmExpr # |
Instance details Defined in GHC.Cmm.Expr Methods (==) :: CmmExpr -> CmmExpr -> Bool # (/=) :: CmmExpr -> CmmExpr -> Bool #
(Ord r, UserOfRegs r CmmReg) => UserOfRegs r CmmExpr # |
Instance details Defined in GHC.Cmm.Expr Methods foldRegsUsed :: Platform -> (b -> r -> b) -> b -> CmmExpr -> b #
OutputableP Platform CmmExpr # |
Instance details Defined in GHC.Cmm.Expr Methods pdoc :: Platform -> CmmExpr -> SDoc #

cmmExprType :: Platform -> CmmExpr -> CmmType #

cmmExprWidth :: Platform -> CmmExpr -> Width #

cmmExprAlignment :: CmmExpr -> Alignment #

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.

maybeInvertCmmExpr :: CmmExpr -> Maybe CmmExpr #

data CmmReg #

Constructors

CmmLocal !LocalReg |
CmmGlobal GlobalRegUse |

#### Instances

Instances details

Show CmmReg # |
Instance details Defined in GHC.Cmm.Reg Methods showsPrec :: Int -> CmmReg -> ShowS # show :: CmmReg -> String # showList :: [CmmReg] -> ShowS #
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 Methods compare :: CmmReg -> CmmReg -> Ordering # (<) :: CmmReg -> CmmReg -> Bool # (<=) :: CmmReg -> CmmReg -> Bool # (>) :: CmmReg -> CmmReg -> Bool # (>=) :: CmmReg -> CmmReg -> Bool # max :: CmmReg -> CmmReg -> CmmReg # min :: CmmReg -> CmmReg -> CmmReg #
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 #

cmmRegType :: CmmReg -> CmmType #

cmmRegWidth :: CmmReg -> Width #

data CmmLit #

Constructors

CmmInt !Integer !Width |
CmmFloat Rational !Width |
CmmVec [CmmLit] |
CmmLabel CLabel |
CmmLabelOff CLabel !Int |
CmmLabelDiffOff CLabel CLabel !Int !Width |
CmmBlock !BlockId |
CmmHighStackMark |

#### Instances

Instances details

Show CmmLit # |
Instance details Defined in GHC.Cmm.Expr Methods showsPrec :: Int -> CmmLit -> ShowS # show :: CmmLit -> String # showList :: [CmmLit] -> ShowS #
Outputable CmmLit # |
Instance details Defined in GHC.Cmm.Expr Methods ppr :: CmmLit -> SDoc #
Eq CmmLit # |
Instance details Defined in GHC.Cmm.Expr Methods (==) :: CmmLit -> CmmLit -> Bool # (/=) :: CmmLit -> CmmLit -> Bool #
OutputableP Platform CmmLit # |
Instance details Defined in GHC.Cmm.Expr Methods pdoc :: Platform -> CmmLit -> SDoc #

cmmLitType :: Platform -> CmmLit -> CmmType #

data AlignmentSpec #

Constructors

NaturallyAligned |
Unaligned |

#### Instances

Instances details

Show AlignmentSpec # |
Instance details Defined in GHC.Cmm.Expr Methods showsPrec :: Int -> AlignmentSpec -> ShowS # show :: AlignmentSpec -> String # showList :: [AlignmentSpec] -> ShowS #
Eq AlignmentSpec # |
Instance details Defined in GHC.Cmm.Expr Methods (==) :: AlignmentSpec -> AlignmentSpec -> Bool # (/=) :: AlignmentSpec -> AlignmentSpec -> Bool #
Ord AlignmentSpec # |
Instance details Defined in GHC.Cmm.Expr Methods compare :: AlignmentSpec -> AlignmentSpec -> Ordering # (<) :: AlignmentSpec -> AlignmentSpec -> Bool # (<=) :: AlignmentSpec -> AlignmentSpec -> Bool # (>) :: AlignmentSpec -> AlignmentSpec -> Bool # (>=) :: AlignmentSpec -> AlignmentSpec -> Bool # max :: AlignmentSpec -> AlignmentSpec -> AlignmentSpec # min :: AlignmentSpec -> AlignmentSpec -> AlignmentSpec #

data LocalReg #

Constructors

LocalReg !Unique !CmmType | Parameters: 1. Identifier 2. Type

#### Instances

Instances details

Show LocalReg # |
Instance details Defined in GHC.Cmm.Reg Methods showsPrec :: Int -> LocalReg -> ShowS # show :: LocalReg -> String # showList :: [LocalReg] -> ShowS #
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 Methods (==) :: LocalReg -> LocalReg -> Bool # (/=) :: LocalReg -> LocalReg -> Bool #
Ord LocalReg # |
Instance details Defined in GHC.Cmm.Reg Methods compare :: LocalReg -> LocalReg -> Ordering # (<) :: LocalReg -> LocalReg -> Bool # (<=) :: LocalReg -> LocalReg -> Bool # (>) :: LocalReg -> LocalReg -> Bool # (>=) :: LocalReg -> LocalReg -> Bool # max :: LocalReg -> LocalReg -> LocalReg # min :: LocalReg -> LocalReg -> LocalReg #
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 #

localRegType :: LocalReg -> CmmType #

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

Constructors

VanillaReg !Int |
FloatReg !Int |
DoubleReg !Int |
LongReg !Int |
XmmReg !Int |
YmmReg !Int |
ZmmReg !Int |
Sp |
SpLim |
Hp |
HpLim |
CCCS |
CurrentTSO |
CurrentNursery |
HpAlloc |
EagerBlackholeInfo |
GCEnter1 |
GCFun |
BaseReg |
MachSp |
UnwindReturnReg |
PicBaseReg |

#### Instances

Instances details

Show GlobalReg # |
Instance details Defined in GHC.Cmm.Reg Methods showsPrec :: Int -> GlobalReg -> ShowS # show :: GlobalReg -> String # showList :: [GlobalReg] -> ShowS #
Outputable GlobalReg # |
Instance details Defined in GHC.Cmm.Reg Methods ppr :: GlobalReg -> SDoc #
Eq GlobalReg # |
Instance details Defined in GHC.Cmm.Reg Methods (==) :: GlobalReg -> GlobalReg -> Bool # (/=) :: GlobalReg -> GlobalReg -> Bool #
Ord GlobalReg # |
Instance details Defined in GHC.Cmm.Reg Methods compare :: GlobalReg -> GlobalReg -> Ordering # (<) :: GlobalReg -> GlobalReg -> Bool # (<=) :: GlobalReg -> GlobalReg -> Bool # (>) :: GlobalReg -> GlobalReg -> Bool # (>=) :: GlobalReg -> GlobalReg -> Bool # max :: GlobalReg -> GlobalReg -> GlobalReg # min :: GlobalReg -> GlobalReg -> GlobalReg #
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 #

isArgReg :: GlobalReg -> Bool #

globalRegSpillType :: Platform -> GlobalReg -> CmmType #

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 globalRegUseGlobalReg :: !GlobalReg The underlying `GlobalReg` globalRegUseType :: !CmmType The `CmmType` at which we are using the `GlobalReg`. Its width must be less than the width of the `GlobalReg`:
      typeWidth ty <= typeWidth (globalRegSpillType reg)

#### Instances

Instances details

Show GlobalRegUse # |
Instance details Defined in GHC.Cmm.Reg Methods showsPrec :: Int -> GlobalRegUse -> ShowS # show :: GlobalRegUse -> String # showList :: [GlobalRegUse] -> ShowS #
Outputable GlobalRegUse # |
Instance details Defined in GHC.Cmm.Reg Methods ppr :: GlobalRegUse -> SDoc #
Eq GlobalRegUse # |
Instance details Defined in GHC.Cmm.Reg Methods (==) :: GlobalRegUse -> GlobalRegUse -> Bool # (/=) :: GlobalRegUse -> GlobalRegUse -> Bool #
Ord GlobalRegUse # |
Instance details Defined in GHC.Cmm.Reg Methods compare :: GlobalRegUse -> GlobalRegUse -> Ordering # (<) :: GlobalRegUse -> GlobalRegUse -> Bool # (<=) :: GlobalRegUse -> GlobalRegUse -> Bool # (>) :: GlobalRegUse -> GlobalRegUse -> Bool # (>=) :: GlobalRegUse -> GlobalRegUse -> Bool # max :: GlobalRegUse -> GlobalRegUse -> GlobalRegUse # min :: GlobalRegUse -> GlobalRegUse -> GlobalRegUse #
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 #

spReg :: Platform -> CmmReg #

hpReg :: Platform -> CmmReg #

spLimReg :: Platform -> CmmReg #

hpLimReg :: Platform -> CmmReg #

nodeReg :: Platform -> CmmReg #

currentTSOReg :: Platform -> CmmReg #

currentNurseryReg :: Platform -> CmmReg #

hpAllocReg :: Platform -> CmmReg #

cccsReg :: Platform -> CmmReg #

node :: GlobalReg #

baseReg :: Platform -> CmmReg #

class Ord r => DefinerOfRegs r a #

Minimal complete definition

foldRegsDefd

#### Instances

Instances details

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 #
Ord r => DefinerOfRegs r r # |
Instance details Defined in GHC.Cmm.Expr Methods foldRegsDefd :: Platform -> (b -> r -> b) -> b -> r -> b #
DefinerOfRegs r a => DefinerOfRegs r [a] # |
Instance details Defined in GHC.Cmm.Expr Methods foldRegsDefd :: Platform -> (b -> r -> b) -> b -> [a] -> b #
DefinerOfRegs GlobalReg (CmmNode e x) # |
Instance details Defined in GHC.Cmm.Node Methods foldRegsDefd :: Platform -> (b -> GlobalReg -> b) -> b -> CmmNode e x -> b #
DefinerOfRegs LocalReg (CmmNode e x) # |
Instance details Defined in GHC.Cmm.Node Methods foldRegsDefd :: Platform -> (b -> LocalReg -> b) -> b -> CmmNode e x -> b #

class Ord r => UserOfRegs r a #

Minimal complete definition

foldRegsUsed

#### Instances

Instances details

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 #
(Ord r, UserOfRegs r CmmReg) => UserOfRegs r CmmExpr # |
Instance details Defined in GHC.Cmm.Expr Methods foldRegsUsed :: Platform -> (b -> r -> b) -> b -> CmmExpr -> b #
(Ord r, UserOfRegs r CmmReg) => UserOfRegs r ForeignTarget # |
Instance details Defined in GHC.Cmm.Node Methods foldRegsUsed :: Platform -> (b -> r -> b) -> b -> ForeignTarget -> b #
Ord r => UserOfRegs r r # |
Instance details Defined in GHC.Cmm.Expr Methods foldRegsUsed :: Platform -> (b -> r -> b) -> b -> r -> b #
UserOfRegs r a => UserOfRegs r [a] # |
Instance details Defined in GHC.Cmm.Expr Methods foldRegsUsed :: Platform -> (b -> r -> b) -> b -> [a] -> b #
UserOfRegs GlobalReg (CmmNode e x) # |
Instance details Defined in GHC.Cmm.Node Methods foldRegsUsed :: Platform -> (b -> GlobalReg -> 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 #

foldRegsDefd :: DefinerOfRegs r a => Platform -> (b -> r -> b) -> b -> a -> b #

foldRegsUsed :: UserOfRegs r a => Platform -> (b -> r -> b) -> b -> a -> b #

foldLocalRegsDefd :: DefinerOfRegs LocalReg a => Platform -> (b -> LocalReg -> b) -> b -> a -> b #

foldLocalRegsUsed :: UserOfRegs LocalReg a => Platform -> (b -> LocalReg -> b) -> b -> a -> b #

type RegSet r = Set r #

Sets of registers

type LocalRegSet = RegSet LocalReg #

type GlobalRegSet = RegSet GlobalReg #

emptyRegSet :: RegSet r #

elemRegSet :: Ord r => r -> RegSet r -> Bool #

extendRegSet :: Ord r => RegSet r -> r -> RegSet r #

deleteFromRegSet :: Ord r => RegSet r -> r -> RegSet r #

mkRegSet :: Ord r => [r] -> RegSet r #

plusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r #

minusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r #

timesRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r #

sizeRegSet :: RegSet r -> Int #

nullRegSet :: RegSet r -> Bool #

regSetToList :: RegSet r -> [r] #

isTrivialCmmExpr :: CmmExpr -> Bool #

hasNoGlobalRegs :: CmmExpr -> Bool #

isLit :: CmmExpr -> Bool #

isComparisonExpr :: CmmExpr -> Bool #

data 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

Old |
Young !BlockId |

#### Instances

Instances details

Show Area # |
Instance details Defined in GHC.Cmm.Expr Methods showsPrec :: Int -> Area -> ShowS # show :: Area -> String # showList :: [Area] -> ShowS #
Outputable Area # |
Instance details Defined in GHC.Cmm.Expr Methods ppr :: Area -> SDoc #
Eq Area # |
Instance details Defined in GHC.Cmm.Expr Methods (==) :: Area -> Area -> Bool # (/=) :: Area -> Area -> Bool #
Ord Area # |
Instance details Defined in GHC.Cmm.Expr Methods compare :: Area -> Area -> Ordering # (<) :: Area -> Area -> Bool # (<=) :: Area -> Area -> Bool # (>) :: Area -> Area -> Bool # (>=) :: Area -> Area -> Bool # max :: Area -> Area -> Area # min :: Area -> Area -> Area #

module GHC.Cmm.MachOp

module GHC.Cmm.Type