|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.ir.InstructionFormat org.jikesrvm.compilers.opt.ir.Phi
public final class Phi
The Phi InstructionFormat class.
The header comment for Instruction
contains
an explanation of the role of InstructionFormats in the
opt compiler's IR.
Field Summary |
---|
Constructor Summary | |
---|---|
Phi()
|
Method Summary | |
---|---|
static boolean |
conforms(Instruction i)
InstructionFormat identification method for Phi. |
static boolean |
conforms(Operator o)
InstructionFormat identification method for Phi. |
static Instruction |
create(Operator o,
Operand Result,
int numVarOps)
Create an instruction of the Phi instruction format. |
static BasicBlockOperand |
getClearPred(Instruction i,
int k)
Get the k'th operand called Pred from the argument instruction clearing its instruction pointer. |
static Operand |
getClearResult(Instruction i)
Get the operand called Result from the argument instruction clearing its instruction pointer. |
static Operand |
getClearValue(Instruction i,
int k)
Get the k'th operand called Value from the argument instruction clearing its instruction pointer. |
static int |
getNumberOfPreds(Instruction i)
How many variable-length operands called Preds does the argument instruction have? |
static int |
getNumberOfValues(Instruction i)
How many variable-length operands called Values does the argument instruction have? |
static BasicBlockOperand |
getPred(Instruction i,
int k)
Get the k'th operand called Pred from the argument instruction. |
static Operand |
getResult(Instruction i)
Get the operand called Result from the argument instruction. |
static Operand |
getValue(Instruction i,
int k)
Get the k'th operand called Value from the argument instruction. |
static boolean |
hasPred(Instruction i,
int k)
Does the argument instruction have a non-null k'th operand named Pred? |
static boolean |
hasPreds(Instruction i)
Does the argument instruction have any operands named Pred? |
static boolean |
hasResult(Instruction i)
Does the argument instruction have a non-null operand named Result? |
static boolean |
hasValue(Instruction i,
int k)
Does the argument instruction have a non-null k'th operand named Value? |
static boolean |
hasValues(Instruction i)
Does the argument instruction have any operands named Value? |
static int |
indexOfPred(Instruction i,
int k)
Return the index of the k'th operand called Pred in the argument instruction. |
static int |
indexOfPreds(Instruction i)
Return the index of the first operand called Pred in the argument instruction. |
static int |
indexOfResult(Instruction i)
Return the index of the operand called Result in the argument instruction. |
static int |
indexOfValue(Instruction i,
int k)
Return the index of the k'th operand called Value in the argument instruction. |
static int |
indexOfValues(Instruction i)
Return the index of the first operand called Value in the argument instruction. |
static Instruction |
mutate(Instruction i,
Operator o,
Operand Result,
int numVarOps)
Mutate the argument instruction into an instruction of the Phi instruction format having the specified operator and operands. |
static void |
resizeNumberOfPreds(Instruction i,
int numVarOps)
Change the number of Preds that may be stored in the argument instruction to numVarOps. |
static void |
resizeNumberOfValues(Instruction i,
int numVarOps)
Change the number of Values that may be stored in the argument instruction to numVarOps. |
static void |
setPred(Instruction i,
int k,
BasicBlockOperand o)
Set the k'th operand called Pred in the argument instruction to the argument operand. |
static void |
setResult(Instruction i,
Operand Result)
Set the operand called Result in the argument instruction to the argument operand. |
static void |
setValue(Instruction i,
int k,
Operand o)
Set the k'th operand called Value in the argument instruction to the argument operand. |
Methods inherited from class org.jikesrvm.compilers.opt.ir.InstructionFormat |
---|
fail, fail |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Phi()
Method Detail |
---|
public static boolean conforms(Instruction i)
i
- an instruction
true
if the InstructionFormat of the argument
instruction is Phi or false
if it is not.public static boolean conforms(Operator o)
o
- an instruction
true
if the InstructionFormat of the argument
operator is Phi or false
if it is not.public static Operand getResult(Instruction i)
i
- the instruction to fetch the operand from
public static Operand getClearResult(Instruction i)
i
- the instruction to fetch the operand from
public static void setResult(Instruction i, Operand Result)
i
- the instruction in which to store the operandResult
- the operand to storepublic static int indexOfResult(Instruction i)
i
- the instruction to access.
public static boolean hasResult(Instruction i)
i
- the instruction to access.
true
if the instruction has an non-null
operand named Result or false
if it does not.public static Operand getValue(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operand
public static Operand getClearValue(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operand
public static void setValue(Instruction i, int k, Operand o)
i
- the instruction in which to store the operandk
- the index of the operando
- the operand to storepublic static int indexOfValue(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.
public static boolean hasValue(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.
true
if the instruction has an non-null
k'th operand named Value or false
if it does not.public static int indexOfValues(Instruction i)
i
- the instruction to access.
public static boolean hasValues(Instruction i)
i
- the instruction to access.
true
if the instruction has operands
named Value or false
if it does not.public static int getNumberOfValues(Instruction i)
i
- the instruction to access
public static void resizeNumberOfValues(Instruction i, int numVarOps)
i
- the instruction to accessnumVarOps
- the new number of variable operands called Values
that may be stored in the instructionpublic static BasicBlockOperand getPred(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operand
public static BasicBlockOperand getClearPred(Instruction i, int k)
i
- the instruction to fetch the operand fromk
- the index of the operand
public static void setPred(Instruction i, int k, BasicBlockOperand o)
i
- the instruction in which to store the operandk
- the index of the operando
- the operand to storepublic static int indexOfPred(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.
public static boolean hasPred(Instruction i, int k)
i
- the instruction to access.k
- the index of the operand.
true
if the instruction has an non-null
k'th operand named Pred or false
if it does not.public static int indexOfPreds(Instruction i)
i
- the instruction to access.
public static boolean hasPreds(Instruction i)
i
- the instruction to access.
true
if the instruction has operands
named Pred or false
if it does not.public static int getNumberOfPreds(Instruction i)
i
- the instruction to access
public static void resizeNumberOfPreds(Instruction i, int numVarOps)
i
- the instruction to accessnumVarOps
- the new number of variable operands called Preds
that may be stored in the instructionpublic static Instruction create(Operator o, Operand Result, int numVarOps)
o
- the instruction's operatorResult
- the instruction's Result operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.
public static Instruction mutate(Instruction i, Operator o, Operand Result, int numVarOps)
i
- the instruction to mutateo
- the instruction's operatorResult
- the instruction's Result operandnumVarOps
- the number of variable length operands that
will be stored in the insruction.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |