ghc-8.4.3: The GHC API

Safe HaskellNone
LanguageHaskell2010

SPARC.Regs

Synopsis

Documentation

showReg :: RegNo -> String Source #

Get the standard name for the register with this number.

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.

allRealRegs :: [RealReg] Source #

All the allocatable registers in the machine, including register pairs.

gReg :: Int -> RegNo Source #

Get the regno for this sort of reg

iReg :: Int -> RegNo Source #

Get the regno for this sort of reg

lReg :: Int -> RegNo Source #

Get the regno for this sort of reg

oReg :: Int -> RegNo Source #

Get the regno for this sort of reg

fReg :: Int -> RegNo Source #

Get the regno for this sort of reg

fp :: Reg Source #

Some specific regs used by the code generator.

sp :: Reg Source #

Some specific regs used by the code generator.

g0 :: Reg Source #

Some specific regs used by the code generator.

g1 :: Reg Source #

Some specific regs used by the code generator.

g2 :: Reg Source #

Some specific regs used by the code generator.

o0 :: Reg Source #

Some specific regs used by the code generator.

o1 :: Reg Source #

Some specific regs used by the code generator.

f0 :: Reg Source #

Some specific regs used by the code generator.

f1 :: Reg Source #

Some specific regs used by the code generator.

f6 :: Reg Source #

Some specific regs used by the code generator.

f8 :: Reg Source #

Some specific regs used by the code generator.

f22 :: Reg Source #

Some specific regs used by the code generator.

f26 :: Reg Source #

Some specific regs used by the code generator.

f27 :: Reg Source #

Some specific regs used by the code generator.

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 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 all the regs that could possibly be returned by argRegs

mkVirtualReg :: Unique -> Format -> VirtualReg Source #

Make a virtual reg with this format.