X86.Regs
- virtualRegSqueeze :: RegClass -> VirtualReg -> FastInt
- realRegSqueeze :: RegClass -> RealReg -> FastInt
- data Imm
- strImmLit :: String -> Imm
- litToImm :: CmmLit -> Imm
- data AddrMode
- addrOffset :: AddrMode -> Int -> Maybe AddrMode
- spRel :: Int -> AddrMode
- argRegs :: RegNo -> [Reg]
- allArgRegs :: [Reg]
- callClobberedRegs :: [Reg]
- allMachRegNos :: [RegNo]
- classOfRealReg :: RealReg -> RegClass
- showReg :: RegNo -> String
- data EABase
- = EABaseNone
- | EABaseReg Reg
- | EABaseRip
- data EAIndex
- = EAIndexNone
- | EAIndex Reg Int
- addrModeRegs :: AddrMode -> [Reg]
- fake0, edi, esi, ebp, esp, edx, ecx, ebx, eax, fake5, fake4, fake3, fake2, fake1 :: Reg
- firstfake :: RegNo
- rax, xmm15, xmm14, xmm13, xmm12, xmm11, xmm10, xmm9, xmm8, xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, r15, r14, r13, r12, r11, r10, r9, r8, rdi, rsi, rbp, rsp, rdx, rcx, rbx :: Reg
- xmm :: RegNo -> Reg
- ripRel :: Displacement -> AddrMode
- allFPArgRegs :: [Reg]
- freeReg :: RegNo -> FastBool
- globalRegMaybe :: GlobalReg -> Maybe RealReg
- allocatableRegs :: [RealReg]
Documentation
virtualRegSqueeze :: RegClass -> VirtualReg -> FastInt
regSqueeze_class reg Calculuate 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 -> FastInt
data Imm
addrOffset :: AddrMode -> Int -> Maybe AddrMode
allArgRegs :: [Reg]
callClobberedRegs :: [Reg]
allMachRegNos :: [RegNo]
The complete set of machine registers.
classOfRealReg :: RealReg -> RegClass
Take the class of a register.
data EABase
Constructors
EABaseNone | |
EABaseReg Reg | |
EABaseRip |
data EAIndex
Constructors
EAIndexNone | |
EAIndex Reg Int |
addrModeRegs :: AddrMode -> [Reg]
rax, xmm15, xmm14, xmm13, xmm12, xmm11, xmm10, xmm9, xmm8, xmm7, xmm6, xmm5, xmm4, xmm3, xmm2, xmm1, xmm0, r15, r14, r13, r12, r11, r10, r9, r8, rdi, rsi, rbp, rsp, rdx, rcx, rbx :: Reg
allFPArgRegs :: [Reg]
globalRegMaybe :: GlobalReg -> Maybe RealReg
allocatableRegs :: [RealReg]
these are the regs which we cannot assume stay alive over a C call.