ghc-6.12.3: The GHC APISource codeContentsIndex
X86.Regs
Synopsis
virtualRegSqueeze :: RegClass -> VirtualReg -> FastInt
realRegSqueeze :: RegClass -> RealReg -> FastInt
data Imm
= ImmInt Int
| ImmInteger Integer
| ImmCLbl CLabel
| ImmLit Doc
| ImmIndex CLabel Int
| ImmFloat Rational
| ImmDouble Rational
| ImmConstantSum Imm Imm
| ImmConstantDiff Imm Imm
strImmLit :: String -> Imm
litToImm :: CmmLit -> Imm
data AddrMode
= AddrBaseIndex EABase EAIndex Displacement
| ImmAddr Imm Int
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]
eax :: Reg
ebx :: Reg
ecx :: Reg
edx :: Reg
esi :: Reg
edi :: Reg
ebp :: Reg
esp :: Reg
fake0 :: Reg
fake1 :: Reg
fake2 :: Reg
fake3 :: Reg
fake4 :: Reg
fake5 :: 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
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
ripRel :: Displacement -> AddrMode
allFPArgRegs :: [Reg]
freeReg :: RegNo -> FastBool
globalRegMaybe :: GlobalReg -> Maybe RealReg
get_GlobalReg_reg_or_addr :: GlobalReg -> Either RealReg CmmExpr
allocatableRegs :: [RealReg]
Documentation
virtualRegSqueeze :: RegClass -> VirtualReg -> FastIntSource
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 -> FastIntSource
data Imm Source
Constructors
ImmInt Int
ImmInteger Integer
ImmCLbl CLabel
ImmLit Doc
ImmIndex CLabel Int
ImmFloat Rational
ImmDouble Rational
ImmConstantSum Imm Imm
ImmConstantDiff Imm Imm
strImmLit :: String -> ImmSource
litToImm :: CmmLit -> ImmSource
data AddrMode Source
Constructors
AddrBaseIndex EABase EAIndex Displacement
ImmAddr Imm Int
addrOffset :: AddrMode -> Int -> Maybe AddrModeSource
spRelSource
:: Intdesired stack offset in words, positive or negative
-> AddrMode
argRegs :: RegNo -> [Reg]Source
allArgRegs :: [Reg]Source
callClobberedRegs :: [Reg]Source
allMachRegNos :: [RegNo]Source
The complete set of machine registers.
classOfRealReg :: RealReg -> RegClassSource
Take the class of a register.
showReg :: RegNo -> StringSource
Get the name of the register with this number.
data EABase Source
Constructors
EABaseNone
EABaseReg Reg
EABaseRip
data EAIndex Source
Constructors
EAIndexNone
EAIndex Reg Int
addrModeRegs :: AddrMode -> [Reg]Source
eax :: RegSource
ebx :: RegSource
ecx :: RegSource
edx :: RegSource
esi :: RegSource
edi :: RegSource
ebp :: RegSource
esp :: RegSource
fake0 :: RegSource
fake1 :: RegSource
fake2 :: RegSource
fake3 :: RegSource
fake4 :: RegSource
fake5 :: RegSource
rax :: RegSource
rbx :: RegSource
rcx :: RegSource
rdx :: RegSource
rsi :: RegSource
rdi :: RegSource
rbp :: RegSource
rsp :: RegSource
r8 :: RegSource
r9 :: RegSource
r10 :: RegSource
r11 :: RegSource
r12 :: RegSource
r13 :: RegSource
r14 :: RegSource
r15 :: RegSource
xmm0 :: RegSource
xmm1 :: RegSource
xmm2 :: RegSource
xmm3 :: RegSource
xmm4 :: RegSource
xmm5 :: RegSource
xmm6 :: RegSource
xmm7 :: RegSource
xmm8 :: RegSource
xmm9 :: RegSource
xmm10 :: RegSource
xmm11 :: RegSource
xmm12 :: RegSource
xmm13 :: RegSource
xmm14 :: RegSource
xmm15 :: RegSource
xmm :: RegNo -> RegSource
ripRel :: Displacement -> AddrModeSource
allFPArgRegs :: [Reg]Source
freeReg :: RegNo -> FastBoolSource
globalRegMaybe :: GlobalReg -> Maybe RealRegSource
get_GlobalReg_reg_or_addr :: GlobalReg -> Either RealReg CmmExprSource
these are the regs which we cannot assume stay alive over a C call.
allocatableRegs :: [RealReg]Source
Produced by Haddock version 2.6.1