ghc-6.10.1: The GHC APIContentsIndex
MachRegs
Contents
Immediate values
Addressing modes
The Reg type
Global registers
Machine-dependent register-related stuff
Synopsis
data Imm
= ImmInt Int
| ImmInteger Integer
| ImmCLbl CLabel
| ImmLit Doc
| ImmIndex CLabel Int
| ImmFloat Rational
| ImmDouble Rational
| ImmConstantSum Imm Imm
| ImmConstantDiff Imm Imm
| LO Imm
| HI Imm
| HA Imm
litToImm :: CmmLit -> Imm
data AddrMode
= AddrRegReg Reg Reg
| AddrRegImm Reg Imm
addrOffset :: AddrMode -> Int -> Maybe AddrMode
type RegNo = Int
data Reg
= RealReg !!RegNo
| VirtualRegI !!Unique
| VirtualRegHi !!Unique
| VirtualRegF !!Unique
| VirtualRegD !!Unique
isRealReg :: Reg -> Bool
isVirtualReg :: Reg -> Bool
renameVirtualReg :: Unique -> Reg -> Reg
data RegClass
= RcInteger
| RcFloat
| RcDouble
trivColorable :: RegClass -> UniqSet Reg -> UniqSet Reg -> Bool
mkVReg :: Unique -> MachRep -> Reg
get_GlobalReg_reg_or_addr :: GlobalReg -> Either Reg CmmExpr
allocatableRegs :: [RegNo]
argRegs :: RegNo -> [Reg]
allArgRegs :: [Reg]
callClobberedRegs :: [Reg]
allocatableRegsInClass :: RegClass -> Int
freeReg :: RegNo -> FastBool
spRel :: Int -> AddrMode
allFPArgRegs :: [Reg]
makeImmediate :: Integral a => MachRep -> Bool -> a -> Maybe Imm
Immediate values
data Imm
Constructors
ImmInt Int
ImmInteger Integer
ImmCLbl CLabel
ImmLit Doc
ImmIndex CLabel Int
ImmFloat Rational
ImmDouble Rational
ImmConstantSum Imm Imm
ImmConstantDiff Imm Imm
LO Imm
HI Imm
HA Imm
litToImm :: CmmLit -> Imm
Addressing modes
data AddrMode
Constructors
AddrRegReg Reg Reg
AddrRegImm Reg Imm
addrOffset :: AddrMode -> Int -> Maybe AddrMode
The Reg type
type RegNo = Int
data Reg
Constructors
RealReg !!RegNo
VirtualRegI !!Unique
VirtualRegHi !!Unique
VirtualRegF !!Unique
VirtualRegD !!Unique
show/hide Instances
isRealReg :: Reg -> Bool
isVirtualReg :: Reg -> Bool
renameVirtualReg :: Unique -> Reg -> Reg
data RegClass
Constructors
RcInteger
RcFloat
RcDouble
show/hide Instances
trivColorable :: RegClass -> UniqSet Reg -> UniqSet Reg -> Bool
mkVReg :: Unique -> MachRep -> Reg
Global registers
get_GlobalReg_reg_or_addr :: GlobalReg -> Either Reg CmmExpr
Machine-dependent register-related stuff
allocatableRegs :: [RegNo]
argRegs :: RegNo -> [Reg]
allArgRegs :: [Reg]
callClobberedRegs :: [Reg]
allocatableRegsInClass :: RegClass -> Int
The number of regs in each class. We go via top level CAFs to ensure that we're not recomputing the length of these lists each time the fn is called.
freeReg :: RegNo -> FastBool
spRel :: Int -> AddrMode
allFPArgRegs :: [Reg]
makeImmediate :: Integral a => MachRep -> Bool -> a -> Maybe Imm
Produced by Haddock version 2.3.0