39 unsigned _numPhysicalFloatRegs,
40 unsigned _numPhysicalCCRegs)
41 : intRegFile(_numPhysicalIntRegs),
42 floatRegFile(_numPhysicalFloatRegs),
43 ccRegFile(_numPhysicalCCRegs),
44 baseFloatRegIndex(_numPhysicalIntRegs),
45 baseCCRegIndex(_numPhysicalIntRegs + _numPhysicalFloatRegs),
46 totalNumRegs(_numPhysicalIntRegs
47 + _numPhysicalFloatRegs
53 warn(
"Non-zero number of physical CC regs specified, even though\n"
54 " ISA does not use them.\n");
void addIntReg(PhysRegIndex freed_reg)
Adds an integer register back to the free list.
unsigned totalNumRegs
Total number of physical registers.
unsigned baseFloatRegIndex
The first floating-point physical register index.
void initFreeList(UnifiedFreeList *freeList)
Initialize the free list.
PhysRegFile(unsigned _numPhysicalIntRegs, unsigned _numPhysicalFloatRegs, unsigned _numPhysicalCCRegs)
Constructs a physical register file with the specified amount of integer and floating point registers...
unsigned baseCCRegIndex
The first condition-code physical register index.
FreeList class that simply holds the list of free integer and floating point registers.
void addCCReg(PhysRegIndex freed_reg)
Adds a cc register back to the free list.
void addFloatReg(PhysRegIndex freed_reg)
Adds a fp register back to the free list.