public class OptimizeDivPhase extends BasePhase<CoreProviders>
BasePhase.ApplyScope, BasePhase.BasePhaseStatistics, BasePhase.PhaseOptions, BasePhase.SharedGlobalPhaseState| Modifier and Type | Field and Description |
|---|---|
protected CanonicalizerPhase |
canon |
| Constructor and Description |
|---|
OptimizeDivPhase(CanonicalizerPhase canon) |
| Modifier and Type | Method and Description |
|---|---|
float |
codeSizeIncrease()
Returns a factor
>=1 that determines what the final code size in terms of the sum of
the node code sizes NodeSize of all nodes is. |
protected ValueNode |
createDiv(ValueNode val) |
protected static boolean |
isDivByNonZeroConstant(Canonicalizable.Binary<ValueNode> divRemNode) |
protected void |
optimizeRem(Canonicalizable.Binary<ValueNode> rem) |
protected static void |
optimizeSignedDiv(Canonicalizable.Binary<ValueNode> div) |
protected void |
run(StructuredGraph graph,
CoreProviders context) |
apply, apply, applyScope, contractorName, equals, getName, hashCode, shouldDumpAfterAtBasicLevel, shouldDumpBeforeAtBasicLevelclone, getClass, notify, notifyAll, toString, wait, wait, waitcheckContractprotected final CanonicalizerPhase canon
public OptimizeDivPhase(CanonicalizerPhase canon)
protected void run(StructuredGraph graph, CoreProviders context)
run in class BasePhase<CoreProviders>public float codeSizeIncrease()
PhaseSizeContract>=1 that determines what the final code size in terms of the sum of
the node code sizes NodeSize of all nodes is.codeSizeIncrease in interface PhaseSizeContractcodeSizeIncrease in class BasePhase<CoreProviders>protected static boolean isDivByNonZeroConstant(Canonicalizable.Binary<ValueNode> divRemNode)
protected final void optimizeRem(Canonicalizable.Binary<ValueNode> rem)
protected static void optimizeSignedDiv(Canonicalizable.Binary<ValueNode> div)