RegAlloc.Linear.FreeRegs
- data FreeRegs
- noFreeRegs :: FreeRegs
- releaseReg :: RealReg -> FreeRegs -> FreeRegs
- initFreeRegs :: FreeRegs
- getFreeRegs :: RegClass -> FreeRegs -> [RealReg]
- allocateReg :: RealReg -> FreeRegs -> FreeRegs
- maxSpillSlots :: Int
Documentation
A reg map where no regs are free to be allocated.
releaseReg :: RealReg -> FreeRegs -> FreeRegsSource
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.
initFreeRegs :: FreeRegsSource
The initial set of free regs.
getFreeRegs :: RegClass -> FreeRegs -> [RealReg]Source
Get all the free registers of this class.
allocateReg :: RealReg -> FreeRegs -> FreeRegsSource
Grab a register.
The maximum number of spill slots available on the C stack. If we use up all of the slots, then we're screwed.
Why do we reserve 64 bytes, instead of using the whole thing?? -- BL 20090215