|
|
|
|
|
|
Synopsis |
|
|
|
|
Immediate values
|
|
data Imm |
|
|
litToImm :: CmmLit -> Imm |
|
Addressing modes
|
|
data AddrMode |
|
|
addrOffset :: AddrMode -> Int -> Maybe AddrMode |
|
The Reg type
|
|
type RegNo = Int |
|
data Reg |
Constructors | | Instances | |
|
|
isRealReg :: Reg -> Bool |
|
isVirtualReg :: Reg -> Bool |
|
renameVirtualReg :: Unique -> Reg -> Reg |
|
data RegClass |
Constructors | | 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 |
|
data EABase |
Constructors | EABaseNone | | EABaseReg Reg | | EABaseRip | |
|
|
|
data EAIndex |
|
|
fake1 :: Reg |
|
addrModeRegs :: AddrMode -> [Reg] |
|
Produced by Haddock version 2.3.0 |