public final class PEReadEliminationClosure extends PartialEscapeClosure<PEReadEliminationBlockState>
PartialEscapeClosure.Final, PartialEscapeClosure.MergeProcessorEffectsClosure.LoopKillCacheCOUNTER_ALLOCATION_REMOVED, COUNTER_MATERIALIZATIONS, COUNTER_MATERIALIZATIONS_LOOP_END, COUNTER_MATERIALIZATIONS_LOOP_EXIT, COUNTER_MATERIALIZATIONS_LOOP_REITERATION, COUNTER_MATERIALIZATIONS_MERGE, COUNTER_MATERIALIZATIONS_PHI, COUNTER_MATERIALIZATIONS_UNHANDLED, COUNTER_MEMORYCHECKPOINT, tool, virtualObjectsaliases, blockEffects, cfg, changed, currentMode, debug, loopLocationKillCache, loopMergeEffects, schedule| Constructor and Description |
|---|
PEReadEliminationClosure(StructuredGraph.ScheduleResult schedule,
CoreProviders providers) |
ensureMaterialized, getAlias, getAliasAndResolve, getObjectState, needsApplyEffects, processStateBeforeLoopOnOverflow, requiresProcessing, updateStatesForMaterialized, virtualizeaddScalarAlias, afterSplit, applyEffects, getScalarAlias, hasChanged, hasScalarReplacedInputs, merge, processBlock, processLooppublic PEReadEliminationClosure(StructuredGraph.ScheduleResult schedule, CoreProviders providers)
protected PEReadEliminationBlockState getInitialState()
ReentrantBlockIterator.BlockIteratorClosureControlFlowGraph.getInitialState in class ReentrantBlockIterator.BlockIteratorClosure<PEReadEliminationBlockState>protected boolean processNode(Node node, PEReadEliminationBlockState state, GraphEffectList effects, FixedWithNextNode lastFixedNode)
EffectsClosureprocessNode in class PartialEscapeClosure<PEReadEliminationBlockState>protected void processInitialLoopState(Loop<Block> loop, PEReadEliminationBlockState initialState)
processInitialLoopState in class PartialEscapeClosure<PEReadEliminationBlockState>protected void processLoopExit(LoopExitNode exitNode, PEReadEliminationBlockState initialState, PEReadEliminationBlockState exitState, GraphEffectList effects)
processLoopExit in class PartialEscapeClosure<PEReadEliminationBlockState>protected PEReadEliminationBlockState cloneState(PEReadEliminationBlockState other)
ReentrantBlockIterator.BlockIteratorClosureReentrantBlockIterator.BlockIteratorClosure.processBlock(Block, Object).cloneState in class ReentrantBlockIterator.BlockIteratorClosure<PEReadEliminationBlockState>protected PartialEscapeClosure.MergeProcessor createMergeProcessor(Block merge)
createMergeProcessor in class PartialEscapeClosure<PEReadEliminationBlockState>protected void processKilledLoopLocations(Loop<Block> loop, PEReadEliminationBlockState initialState, PEReadEliminationBlockState mergedStates)
processKilledLoopLocations in class EffectsClosure<PEReadEliminationBlockState>protected PEReadEliminationBlockState stripKilledLoopLocations(Loop<Block> loop, PEReadEliminationBlockState originalInitialState)
stripKilledLoopLocations in class PartialEscapeClosure<PEReadEliminationBlockState>