public class CanonicalizerPhase extends BasePhase<PhaseContext>
| Modifier and Type | Class and Description |
|---|---|
static class |
CanonicalizerPhase.CustomCanonicalizer |
private class |
CanonicalizerPhase.Instance |
| Modifier and Type | Field and Description |
|---|---|
private boolean |
canonicalizeReads |
private CanonicalizerPhase.CustomCanonicalizer |
customCanonicalizer |
private static int |
MAX_ITERATION_PER_NODE |
private static DebugMetric |
METRIC_CANONICALIZATION_CONSIDERED_NODES |
private static DebugMetric |
METRIC_CANONICALIZED_NODES |
private static DebugMetric |
METRIC_GLOBAL_VALUE_NUMBERING_HITS |
private static DebugMetric |
METRIC_INFER_STAMP_CALLED |
private static DebugMetric |
METRIC_PROCESSED_NODES |
private static DebugMetric |
METRIC_SIMPLIFICATION_CONSIDERED_NODES |
private static DebugMetric |
METRIC_STAMP_CHANGED |
private boolean |
simplify |
BEFORE_PHASE_DUMP_LEVEL, PHASE_DUMP_LEVEL| Constructor and Description |
|---|
CanonicalizerPhase() |
CanonicalizerPhase(CanonicalizerPhase.CustomCanonicalizer customCanonicalizer) |
| Modifier and Type | Method and Description |
|---|---|
void |
applyIncremental(StructuredGraph graph,
PhaseContext context,
Graph.Mark newNodesMark) |
void |
applyIncremental(StructuredGraph graph,
PhaseContext context,
Graph.Mark newNodesMark,
boolean dumpGraph) |
void |
applyIncremental(StructuredGraph graph,
PhaseContext context,
Iterable<? extends Node> workingSet) |
void |
applyIncremental(StructuredGraph graph,
PhaseContext context,
Iterable<? extends Node> workingSet,
boolean dumpGraph) |
void |
applyIncremental(StructuredGraph graph,
PhaseContext context,
Iterable<? extends Node> workingSet,
Graph.Mark newNodesMark) |
void |
applyIncremental(StructuredGraph graph,
PhaseContext context,
Iterable<? extends Node> workingSet,
Graph.Mark newNodesMark,
boolean dumpGraph) |
void |
disableReadCanonicalization() |
void |
disableSimplification() |
boolean |
getCanonicalizeReads() |
protected void |
run(StructuredGraph graph,
PhaseContext context) |
apply, apply, createName, getNameprivate static final int MAX_ITERATION_PER_NODE
private static final DebugMetric METRIC_CANONICALIZED_NODES
private static final DebugMetric METRIC_PROCESSED_NODES
private static final DebugMetric METRIC_CANONICALIZATION_CONSIDERED_NODES
private static final DebugMetric METRIC_INFER_STAMP_CALLED
private static final DebugMetric METRIC_STAMP_CHANGED
private static final DebugMetric METRIC_SIMPLIFICATION_CONSIDERED_NODES
private static final DebugMetric METRIC_GLOBAL_VALUE_NUMBERING_HITS
private boolean canonicalizeReads
private boolean simplify
private final CanonicalizerPhase.CustomCanonicalizer customCanonicalizer
public CanonicalizerPhase()
public CanonicalizerPhase(CanonicalizerPhase.CustomCanonicalizer customCanonicalizer)
public void disableReadCanonicalization()
public void disableSimplification()
protected void run(StructuredGraph graph, PhaseContext context)
run in class BasePhase<PhaseContext>public void applyIncremental(StructuredGraph graph, PhaseContext context, Graph.Mark newNodesMark)
newNodesMark - only the new nodes specified by this
mark are processedpublic void applyIncremental(StructuredGraph graph, PhaseContext context, Graph.Mark newNodesMark, boolean dumpGraph)
public void applyIncremental(StructuredGraph graph, PhaseContext context, Iterable<? extends Node> workingSet)
workingSet - the initial working set of nodes on which the canonicalizer works, should
be an auto-grow node bitmappublic void applyIncremental(StructuredGraph graph, PhaseContext context, Iterable<? extends Node> workingSet, boolean dumpGraph)
public void applyIncremental(StructuredGraph graph, PhaseContext context, Iterable<? extends Node> workingSet, Graph.Mark newNodesMark)
public void applyIncremental(StructuredGraph graph, PhaseContext context, Iterable<? extends Node> workingSet, Graph.Mark newNodesMark, boolean dumpGraph)
public boolean getCanonicalizeReads()