public abstract class GenericPhysicalRegisterSet extends Object implements BitSetMapping
Implementation Note: Each register has an integer field Register.number. This class must number the physical registers so that get(n) returns an Register r with r.number = n!
| Constructor and Description |
|---|
GenericPhysicalRegisterSet() |
public GenericPhysicalRegisterSet()
public static int getSize()
public static String getName(int regnum)
regnum - the number of the register in questionpublic static int getPhysicalRegisterType(Register symbReg)
public static int getSpillSize(int type)
public PhysicalRegisterSet asIA32()
public PhysicalRegisterSet asPPC()
public abstract boolean isAllocatable(Register p)
p - the register in questionpublic abstract int getNumberOfPhysicalRegisters()
public abstract Register getGPR(MachineRegister n)
n - a registerpublic abstract Register getFirstReturnGPR()
public abstract Register get(int n)
n - register numberpublic abstract Enumeration<Register> enumerateAll()
public abstract Enumeration<Register> enumerateGPRs()
public abstract Enumeration<Register> enumerateVolatileGPRs()
public abstract Enumeration<Register> enumerateNonvolatileGPRs()
public abstract Enumeration<Register> enumerateVolatileFPRs()
public abstract Enumeration<Register> enumerateNonvolatileFPRs()
public abstract Enumeration<Register> enumerateVolatiles()
public abstract Enumeration<Register> enumerateVolatiles(int type)
public abstract Enumeration<Register> enumerateNonvolatilesBackwards(int type)
public Enumeration<Register> enumerateNonvolatileGPRsBackwards()
public Enumeration<Register> enumerateNonvolatileFPRsBackwards()
public final Object getMappedObject(int n)
getMappedObject in interface BitSetMappingpublic final int getMappedIndex(Object o)
getMappedIndex in interface BitSetMappingpublic final int getMappingSize()
getMappingSize in interface BitSetMapping