Safe Haskell | None |
---|---|
Language | Haskell2010 |
Free regs map for SPARC
Synopsis
- data FreeRegs = FreeRegs !Word32 !Word32 !Word32
- noFreeRegs :: FreeRegs
- initFreeRegs :: Platform -> FreeRegs
- getFreeRegs :: RegClass -> FreeRegs -> [RealReg]
- allocateReg :: Platform -> RealReg -> FreeRegs -> FreeRegs
- releaseReg :: Platform -> RealReg -> FreeRegs -> FreeRegs
- bitMask :: Int -> Word32
- showFreeRegs :: FreeRegs -> String
Documentation
Instances
Show FreeRegs Source # | |
Outputable FreeRegs Source # | |
Defined in GHC.CmmToAsm.Reg.Linear.SPARC | |
FR FreeRegs Source # | |
Defined in GHC.CmmToAsm.Reg.Linear.FreeRegs frAllocateReg :: Platform -> RealReg -> FreeRegs -> FreeRegs Source # frGetFreeRegs :: Platform -> RegClass -> FreeRegs -> [RealReg] Source # frInitFreeRegs :: Platform -> FreeRegs Source # frReleaseReg :: Platform -> RealReg -> FreeRegs -> FreeRegs Source # |
noFreeRegs :: FreeRegs Source #
A reg map where no regs are free to be allocated.
initFreeRegs :: Platform -> FreeRegs Source #
The initial set of free regs.
getFreeRegs :: RegClass -> FreeRegs -> [RealReg] Source #
Get all the free registers of this class.
allocateReg :: Platform -> RealReg -> FreeRegs -> FreeRegs Source #
Grab a register.
releaseReg :: Platform -> RealReg -> FreeRegs -> FreeRegs Source #
Release a register from allocation. The register liveness information says that most regs die after a C call, but we still don't want to allocate to some of them.
showFreeRegs :: FreeRegs -> String Source #