Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- showReg :: RegNo -> String
- virtualRegSqueeze :: RegClass -> VirtualReg -> Int
- realRegSqueeze :: RegClass -> RealReg -> Int
- classOfRealReg :: RealReg -> RegClass
- allRealRegs :: [RealReg]
- gReg :: Int -> RegNo
- iReg :: Int -> RegNo
- lReg :: Int -> RegNo
- oReg :: Int -> RegNo
- fReg :: Int -> RegNo
- fp :: Reg
- sp :: Reg
- g0 :: Reg
- g1 :: Reg
- g2 :: Reg
- o0 :: Reg
- o1 :: Reg
- f0 :: Reg
- f1 :: Reg
- f6 :: Reg
- f8 :: Reg
- f22 :: Reg
- f26 :: Reg
- f27 :: Reg
- allocatableRegs :: [RealReg]
- argRegs :: RegNo -> [Reg]
- allArgRegs :: [Reg]
- callClobberedRegs :: [Reg]
- mkVirtualReg :: Unique -> Format -> VirtualReg
- regDotColor :: RealReg -> SDoc
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.
realRegSqueeze :: RegClass -> RealReg -> Int Source #
classOfRealReg :: RealReg -> RegClass Source #
allRealRegs :: [RealReg] Source #
All the allocatable registers in the machine, including register pairs.
allocatableRegs :: [RealReg] Source #
Produce the second-half-of-a-double register given the first half.
All the regs that the register allocator can allocate to, with the fixed use regs removed.
argRegs :: RegNo -> [Reg] Source #
The registers to place arguments for function calls, for some number of arguments.
allArgRegs :: [Reg] Source #
All the regs that could possibly be returned by argRegs
callClobberedRegs :: [Reg] Source #
mkVirtualReg :: Unique -> Format -> VirtualReg Source #
Make a virtual reg with this format.
regDotColor :: RealReg -> SDoc Source #