|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.backend.RegisterSet scale.backend.alpha.AlphaRegisterSet
public class AlphaRegisterSet
This class describes the register set of the Alpha.
$Id: AlphaRegisterSet.java,v 1.26 2007-03-21 13:31:46 burrill Exp $
Copyright 2007 by the Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
The Alpha has 64 programmable registers. The first 31 registers are used for integer values and addresses. This includes the stack pointer and other housekeeping registers. Registers 31 and 63 contain a hardwired 0 value. Registers 32 through 62 are used for floating point values.
Field Summary | |
---|---|
static int |
AT_REG
Used by the assembler. |
static int |
F0_REG
Floating point zero register. |
static int |
FF_REG
First floating point argument register. |
static int |
FL_REG
Last floating point argument register. |
static int |
FP_REG
Frame pointer register |
static int |
FR_REG
Floating point function value return register. |
static int |
FREG_SIZE
Size in bytes of integer register. |
static int |
GP_REG
Global Pointer register |
static int |
I0_REG
Integer zero register |
static int |
IF_REG
First integer argument register. |
static int |
IL_REG
Last integer argument register. |
static int |
IR_REG
Integer function value return register. |
static int |
IREG_SIZE
Size in bytes of integer register. |
static int |
PV_REG
Routine address register. |
static int |
RA_REG
Return address register |
static int |
SP_REG
Stack pointer register |
Fields inherited from class scale.backend.RegisterSet |
---|
ADRREG, AFIREG, AIREG, checkMask, CNTREG, DBLEREG, FIREG, FLTREG, INTREG, nextRegister, PAIRREG, QUADREG, RDREG, registers, sizeMask, SPCREG, typeMask |
Constructor Summary | |
---|---|
AlphaRegisterSet()
|
Method Summary | |
---|---|
short[] |
getCalleeSaves()
Return the callee saves registers. |
short[] |
getCalleeUses()
Return the callee uses registers. |
short[] |
getPreferredOrder()
Return a mapping from an order index to a real register number. |
int |
numAllocatableRegisters()
Return the number of unique registers that can hold programmer values. |
java.lang.String |
registerName(int reg)
Convert a register number into its assembly language form. |
int |
registerSize(int reg)
Return the size of the register in addressable memory units. |
int |
tempRegisterType(Type type,
long bs)
Return the register type with the size information added. |
boolean |
useContiguous()
Return true if virtual registers, that require more than one real register, must be allocated to contiguous real registers. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int IR_REG
public static final int FP_REG
public static final int IF_REG
public static final int IL_REG
public static final int RA_REG
public static final int PV_REG
public static final int AT_REG
public static final int GP_REG
public static final int SP_REG
public static final int I0_REG
public static final int FR_REG
public static final int FF_REG
public static final int FL_REG
public static final int F0_REG
public static final int IREG_SIZE
public static final int FREG_SIZE
Constructor Detail |
---|
public AlphaRegisterSet()
Method Detail |
---|
public java.lang.String registerName(int reg)
registerName
in class RegisterSet
public short[] getPreferredOrder()
getPreferredOrder
in class RegisterSet
public boolean useContiguous()
useContiguous
in class RegisterSet
public int registerSize(int reg)
registerSize
in class RegisterSet
public short[] getCalleeSaves()
getCalleeSaves
in class RegisterSet
public short[] getCalleeUses()
getCalleeUses
in class RegisterSet
public int numAllocatableRegisters()
numAllocatableRegisters
in class RegisterSet
public int tempRegisterType(Type type, long bs)
tempRegisterType
in class RegisterSet
type
- is the type requiredbs
- is the size required
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |