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 BitSetMapping
public final int getMappedIndex(Object o)
getMappedIndex
in interface BitSetMapping
public final int getMappingSize()
getMappingSize
in interface BitSetMapping