private static final class LocalCSE.AvailableExpression extends Object
Modifier and Type | Field and Description |
---|---|
(package private) Instruction |
inst
the instruction which makes this expression available
|
(package private) LocationOperand |
location
location operand for memory (load/store) expressions
|
(package private) Operator |
opr
the operator of the expression
|
(package private) Operand[] |
ops
operands
|
(package private) Register |
tmp
temporary register holding the result of the available
expression
|
Constructor and Description |
---|
AvailableExpression(Instruction i,
Operator op,
Operand[] ops,
LocationOperand loc,
Register t) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o)
Two AEs are "equal" iff
for unary, binary and ternary expressions:
the operator and the operands match
for loads and stores: if the 2 operands and the location match
|
int |
hashCode()
Unused hashcode method
|
private boolean |
isBoundsCheck() |
private boolean |
isCommutative() |
boolean |
isLoad() |
boolean |
isLoadOrStore() |
boolean |
isStore() |
final Instruction inst
final LocationOperand location
AvailableExpression(Instruction i, Operator op, Operand[] ops, LocationOperand loc, Register t)
i
- the instruction which makes this expression availableop
- the operator of the expressionops
- the operandsloc
- location operand for memory (load/store) expressionst
- temporary register holding the result of the available
expressionpublic boolean equals(Object o)
public boolean isLoadOrStore()
public boolean isLoad()
public boolean isStore()
private boolean isBoundsCheck()
private boolean isCommutative()