ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.CmmToAsm.AArch64.Regs

Synopsis

- allMachRegNos :: [RegNo]
- allocatableRegs :: Platform -> [RealReg]
- allGpArgRegs :: [Reg]
- allFpArgRegs :: [Reg]
- data AddrMode
  - = AddrRegReg Reg Reg
  - | AddrRegImm Reg Imm
  - | AddrReg Reg
- data Imm
  - = ImmInt Int
  - | ImmInteger Integer
  - | ImmCLbl CLabel
  - | ImmLit FastString
  - | ImmIndex CLabel Int
  - | ImmFloat Rational
  - | ImmDouble Rational
  - | ImmConstantSum Imm Imm
  - | ImmConstantDiff Imm Imm
- strImmLit :: FastString -> Imm
- litToImm :: CmmLit -> Imm
- virtualRegSqueeze :: RegClass -> VirtualReg -> Int
- realRegSqueeze :: RegClass -> RealReg -> Int
- mkVirtualReg :: Unique -> Format -> VirtualReg
- classOfRealReg :: RealReg -> RegClass
- regDotColor :: RealReg -> SDoc

# Documentation

allMachRegNos :: [RegNo] Source #

allocatableRegs :: Platform -> [RealReg] Source #

allGpArgRegs :: [Reg] Source #

allFpArgRegs :: [Reg] Source #

data AddrMode Source #

Constructors

AddrRegReg Reg Reg |
AddrRegImm Reg Imm |
AddrReg Reg |

#### Instances

Instances details

Show AddrMode Source # |
Instance details Defined in GHC.CmmToAsm.AArch64.Regs Methods showsPrec :: Int -> AddrMode -> ShowS Source # show :: AddrMode -> String Source # showList :: [AddrMode] -> ShowS Source #
Eq AddrMode Source # |
Instance details Defined in GHC.CmmToAsm.AArch64.Regs Methods (==) :: AddrMode -> AddrMode -> Bool # (/=) :: AddrMode -> AddrMode -> Bool #

data Imm Source #

Constructors

ImmInt Int |
ImmInteger Integer |
ImmCLbl CLabel |
ImmLit FastString |
ImmIndex CLabel Int |
ImmFloat Rational |
ImmDouble Rational |
ImmConstantSum Imm Imm |
ImmConstantDiff Imm Imm |

#### Instances

Instances details

Show Imm Source # |
Instance details Defined in GHC.CmmToAsm.AArch64.Regs Methods showsPrec :: Int -> Imm -> ShowS Source # show :: Imm -> String Source # showList :: [Imm] -> ShowS Source #
Eq Imm Source # |
Instance details Defined in GHC.CmmToAsm.AArch64.Regs Methods (==) :: Imm -> Imm -> Bool # (/=) :: Imm -> Imm -> Bool #

strImmLit :: FastString -> Imm Source #

litToImm :: CmmLit -> Imm Source #

virtualRegSqueeze :: RegClass -> VirtualReg -> Int Source #

regSqueeze_class reg Calculate the maximum number of register colors that could be denied to a node of this class due to having this reg as a neighbour.

realRegSqueeze :: RegClass -> RealReg -> Int Source #

mkVirtualReg :: Unique -> Format -> VirtualReg Source #

classOfRealReg :: RealReg -> RegClass Source #

regDotColor :: RealReg -> SDoc Source #