protected static final class LocalCSE.AvExCache extends Object
Modifier and Type | Field and Description |
---|---|
private ArrayList<LocalCSE.AvailableExpression> |
cache
Implementation of the cache
|
private boolean |
doMemory |
private OptOptions |
options |
Constructor and Description |
---|
AvExCache(OptOptions opts,
boolean doMem) |
Modifier and Type | Method and Description |
---|---|
void |
eliminate(Instruction s)
Eliminate all AE tuples that are killed by a given instruction
|
private void |
eliminate(RegisterOperand op)
Eliminate all AE tuples that contain a given operand
|
LocalCSE.AvailableExpression |
find(Instruction inst)
Find and return a matching available expression.
|
void |
insert(Instruction inst)
Insert a new available expression in the cache
|
void |
invalidateAllLoads()
Eliminate all AE tuples that cache ANY memory location.
|
private final ArrayList<LocalCSE.AvailableExpression> cache
private final OptOptions options
private final boolean doMemory
AvExCache(OptOptions opts, boolean doMem)
public LocalCSE.AvailableExpression find(Instruction inst)
inst
- the instruction to matchpublic void insert(Instruction inst)
inst
- the instruction that defines the AEprivate void eliminate(RegisterOperand op)
op
- the operand in questionpublic void eliminate(Instruction s)
s
- the store instructionpublic void invalidateAllLoads()