Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- virtualRegSqueeze :: RegClass -> VirtualReg -> Int
- realRegSqueeze :: RegClass -> RealReg -> Int
- data Imm
- strImmLit :: FastString -> Imm
- litToImm :: CmmLit -> Imm
- data AddrMode
- addrOffset :: AddrMode -> Int -> Maybe AddrMode
- spRel :: Platform -> Int -> AddrMode
- argRegs :: RegNo -> [Reg]
- allArgRegs :: Platform -> [(Reg, Reg)]
- allIntArgRegs :: Platform -> [Reg]
- callClobberedRegs :: Platform -> [Reg]
- instrClobberedRegs :: Platform -> [Reg]
- allMachRegNos :: Platform -> [RegNo]
- classOfRealReg :: Platform -> RealReg -> RegClass
- showReg :: Platform -> RegNo -> String
- data EABase
- data EAIndex
- = EAIndexNone
- | EAIndex Reg Int
- addrModeRegs :: AddrMode -> [Reg]
- eax :: Reg
- ebx :: Reg
- ecx :: Reg
- edx :: Reg
- esi :: Reg
- edi :: Reg
- ebp :: Reg
- esp :: Reg
- rax :: Reg
- rbx :: Reg
- rcx :: Reg
- rdx :: Reg
- rsi :: Reg
- rdi :: Reg
- rbp :: Reg
- rsp :: Reg
- r8 :: Reg
- r9 :: Reg
- r10 :: Reg
- r11 :: Reg
- r12 :: Reg
- r13 :: Reg
- r14 :: Reg
- r15 :: Reg
- lastint :: Platform -> RegNo
- xmm0 :: Reg
- xmm1 :: Reg
- xmm2 :: Reg
- xmm3 :: Reg
- xmm4 :: Reg
- xmm5 :: Reg
- xmm6 :: Reg
- xmm7 :: Reg
- xmm8 :: Reg
- xmm9 :: Reg
- xmm10 :: Reg
- xmm11 :: Reg
- xmm12 :: Reg
- xmm13 :: Reg
- xmm14 :: Reg
- xmm15 :: Reg
- xmm :: RegNo -> Reg
- firstxmm :: RegNo
- lastxmm :: Platform -> RegNo
- ripRel :: Displacement -> AddrMode
- allFPArgRegs :: Platform -> [Reg]
- allocatableRegs :: Platform -> [RealReg]
Documentation
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.
strImmLit :: FastString -> Imm Source #
allIntArgRegs :: Platform -> [Reg] Source #
callClobberedRegs :: Platform -> [Reg] Source #
these are the regs which we cannot assume stay alive over a C call.
instrClobberedRegs :: Platform -> [Reg] Source #
allMachRegNos :: Platform -> [RegNo] Source #
The complete set of machine registers.
showReg :: Platform -> RegNo -> String Source #
Get the name of the register with this number. NOTE: fixme, we don't track which "way" the XMM registers are used
addrModeRegs :: AddrMode -> [Reg] Source #
allFPArgRegs :: Platform -> [Reg] Source #
on 64bit platforms we pass the first 8 float/double arguments in the xmm registers.
allocatableRegs :: Platform -> [RealReg] Source #