|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.Backend.Generic.RegFileInfo
harpoon.Backend.Sparc.RegFileInfo
public class RegFileInfo
RegFileInfo
contains architecture specific information
about the registers for the Sparc architecture. It also implements
the LocationFactory interface for allocating and tracking registers
which are used for tracking global data.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class harpoon.Backend.Generic.RegFileInfo |
---|
RegFileInfo.CommonLoc, RegFileInfo.MachineRegLoc, RegFileInfo.SpillException, RegFileInfo.StackOffsetLoc, RegFileInfo.TempLocator |
Nested classes/interfaces inherited from interface harpoon.Backend.Generic.LocationFactory |
---|
LocationFactory.Location |
Constructor Summary | |
---|---|
RegFileInfo(TempBuilder tb)
|
Method Summary | |
---|---|
LocationFactory.Location |
allocateLocation(int type)
Allocate a global location of the specified type and return a handle to it. |
Set |
calleeSave()
|
Set |
callerSave()
|
Temp[] |
getAllRegisters()
Returns an array of Temp s which represent all
the available registers on the machine. |
Temp[] |
getGeneralRegisters()
Returns an array of Temp s for all the registers
that the register allocator can feel free to play with |
Temp |
getRegister(int index)
Returns a specific register on the machine. |
boolean |
isRegister(Temp t)
Checks if t is a element of the register file for
this architecture. |
Set |
liveOnExit()
Returns the Set of registers live at a method's
exit. |
HData |
makeLocationData(Frame f)
Create an HData object that allocates static space
for any allocated locations which need it. |
TempFactory |
regTempFactory()
|
Iterator |
suggestRegAssignment(Temp t,
Map regFile)
|
Methods inherited from class harpoon.Backend.Generic.RegFileInfo |
---|
allRegs, assignment, expand, getAllRegistersC, getGeneralRegistersC, getRegAssignments, illegal, maxRegIndex, occupancy, pressure, suggestRegAssignment |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RegFileInfo(TempBuilder tb)
Method Detail |
---|
public Set liveOnExit()
RegFileInfo
Set
of registers live at a method's
exit.
Set
of register Temp
s of the registers that
should be considered live at the end of a method.
liveOnExit
in class RegFileInfo
public Set callerSave()
public Set calleeSave()
public TempFactory regTempFactory()
public boolean isRegister(Temp t)
RegFileInfo
t
is a element of the register file for
this architecture.
t
is an element of the register file,
Then returns true,
Else returns false.
isRegister
in class RegFileInfo
t
- Temp
that may be part of the register
file.public Iterator suggestRegAssignment(Temp t, Map regFile) throws RegFileInfo.SpillException
RegFileInfo.SpillException
public Temp[] getAllRegisters()
RegFileInfo
Temp
s which represent all
the available registers on the machine.
getAllRegisters
in class RegFileInfo
public Temp getRegister(int index)
RegFileInfo
getRegister(index)==getAllRegisters()[index]
getRegister
in class RegFileInfo
public Temp[] getGeneralRegisters()
RegFileInfo
Temp
s for all the registers
that the register allocator can feel free to play with
getGeneralRegisters
in class RegFileInfo
public LocationFactory.Location allocateLocation(int type)
LocationFactory
makeLocationData()
has been invoked. It
is suggested that this constraint is checked in any
implementation using a boolean flag to help ensure correctness.
allocateLocation
in interface LocationFactory
type
- a IR.Tree.Type
specifying the type
of location to allocate.public HData makeLocationData(Frame f)
LocationFactory
HData
object that allocates static space
for any allocated locations which need it.
The allocateLocation
method may not be
called after this method has been invoked.
makeLocationData
in interface LocationFactory
f
- the Generic.Frame
to which the
HData
will belong.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |