public class ReadEliminationClosure extends EffectsClosure<ReadEliminationBlockState>
Modifier and Type | Class and Description |
---|---|
private class |
ReadEliminationClosure.ReadEliminationMergeProcessor |
EffectsClosure.MergeProcessor
aliases, blockEffects, cfg, changed, schedule
Constructor and Description |
---|
ReadEliminationClosure(ControlFlowGraph cfg) |
Modifier and Type | Method and Description |
---|---|
protected ReadEliminationBlockState |
cloneState(ReadEliminationBlockState other) |
protected EffectsClosure.MergeProcessor |
createMergeProcessor(Block merge) |
protected ReadEliminationBlockState |
getInitialState() |
private static void |
processIdentity(ReadEliminationBlockState state,
LocationIdentity identity) |
protected void |
processLoopExit(LoopExitNode exitNode,
ReadEliminationBlockState initialState,
ReadEliminationBlockState exitState,
GraphEffectList effects) |
protected boolean |
processNode(Node node,
ReadEliminationBlockState state,
GraphEffectList effects,
FixedWithNextNode lastFixedNode)
Collects the effects of virtualizing the given node.
|
addScalarAlias, applyEffects, getScalarAlias, hasChanged, hasScalarReplacedInputs, merge, processBlock, processInitialLoopState, processLoop
public ReadEliminationClosure(ControlFlowGraph cfg)
protected ReadEliminationBlockState getInitialState()
getInitialState
in class ReentrantBlockIterator.BlockIteratorClosure<ReadEliminationBlockState>
protected boolean processNode(Node node, ReadEliminationBlockState state, GraphEffectList effects, FixedWithNextNode lastFixedNode)
EffectsClosure
processNode
in class EffectsClosure<ReadEliminationBlockState>
true
if the effects include removing the node, false
otherwise.private static void processIdentity(ReadEliminationBlockState state, LocationIdentity identity)
protected void processLoopExit(LoopExitNode exitNode, ReadEliminationBlockState initialState, ReadEliminationBlockState exitState, GraphEffectList effects)
processLoopExit
in class EffectsClosure<ReadEliminationBlockState>
protected ReadEliminationBlockState cloneState(ReadEliminationBlockState other)
cloneState
in class ReentrantBlockIterator.BlockIteratorClosure<ReadEliminationBlockState>
protected EffectsClosure.MergeProcessor createMergeProcessor(Block merge)
createMergeProcessor
in class EffectsClosure<ReadEliminationBlockState>