public abstract class GenericPhysicalRegisterTools extends IRTools
Constructor and Description |
---|
GenericPhysicalRegisterTools() |
Modifier and Type | Method and Description |
---|---|
protected RegisterOperand |
A(int regnum)
Create an address register operand for a given physical GPR.
|
(package private) RegisterOperand |
D(int regnum)
Create a double register operand for a given physical FPR.
|
(package private) RegisterOperand |
F(int regnum)
Create a float register operand for a given physical FPR.
|
abstract IR |
getIR() |
(package private) static boolean |
hasPhysicalOperand(Instruction s) |
protected RegisterOperand |
I(int regnum)
Create an integer register operand for a given physical GPR.
|
(package private) RegisterOperand |
L(int regnum)
Create a long register operand for a given GPR number.
|
A, AC, AC, CPOS, CR, D, DC, defDoublesAsUse, definedIn, F, FC, getCondMoveOp, getDefaultOperand, getLoadOp, getLoadOp, getMoveOp, getStoreOp, getStoreOp, I, IC, insertInstructionsAfter, L, LC, makeBlockOnEdge, mayBeVolatileFieldLoad, moveInstruction, moveIntoRegister, moveIntoRegister, nonPEIGC, offsetOperand, TG, usedIn, useDoublesAsDef
public GenericPhysicalRegisterTools()
protected final RegisterOperand A(int regnum)
... Load.create(INT_LOAD, I(2), A(1), IC(4)) ...
regnum
- the given GPR register numberprotected final RegisterOperand I(int regnum)
... Load.create(INT_LOAD, I(2), A(1), IC(4)) ...
regnum
- the given GPR register numberfinal RegisterOperand F(int regnum)
... Load.create(FLOAT_LOAD, F(2), A(1), IC(4)) ...
regnum
- the given DOUBLE register numberfinal RegisterOperand D(int regnum)
... Load.create(DOUBLE_LOAD, D(2), A(1), IC(4)) ...
regnum
- the given double register numberfinal RegisterOperand L(int regnum)
... Load.create(LONG_LOAD, L(2), A(1), IC(4)) ...
regnum
- the given GPR register numberstatic boolean hasPhysicalOperand(Instruction s)
s
- the instruction to checktrue
if the instruction has an operand that contains a physical register