public abstract class SSAInference<T extends IVariable<?>> extends DefaultFixedPointSolver<T>
SSAInference by providing factories that generate IVariables corresponding to SSA value
numbers, and AbstractOperators corresponding to SSA instructions. This class will set up a dataflow system induced by the
SSA def-use graph, and solve the system by iterating to a fixed point.| Modifier and Type | Class and Description |
|---|---|
static interface |
SSAInference.OperatorFactory<T extends IVariable> |
static interface |
SSAInference.VariableFactory |
AbstractFixedPointSolver.StatementDEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workListCHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK| Constructor and Description |
|---|
SSAInference() |
| Modifier and Type | Method and Description |
|---|---|
protected T |
getVariable(int valueNumber) |
protected void |
init(IR ir,
SSAInference.VariableFactory varFactory,
SSAInference.OperatorFactory<T> opFactory)
initializer for SSA Inference equations.
|
String |
toString()
Return a string representation of the system
|
getFixedPointSystemaddAllStatementsToWorkList, addToWorkList, changedVariable, emptyWorkList, getMaxEvalBetweenTopo, getMinSizeForTopSort, getNumberOfEvaluations, getPeriodicMaintainInterval, getStatements, getTopologicalGrowthFactor, getVerboseInterval, incNumberOfEvaluations, initForFirstSolve, initializeVariables, initializeWorkList, isChanged, isFixed, isSideEffect, lineBreak, makeStmtRHS, newStatement, newStatement, newStatement, newStatement, newStatement, orderStatements, performVerboseAction, periodicMaintenance, removeStatement, setMaxEvalBetweenTopo, setMinEquationsForTopSort, setTopologicalGrowthFactor, solveprotected void init(IR ir, SSAInference.VariableFactory varFactory, SSAInference.OperatorFactory<T> opFactory)
protected T getVariable(int valueNumber)
public String toString()
toString in class AbstractFixedPointSolver<T extends IVariable<?>>