public abstract class SSAInference<T extends IVariable<?>> extends DefaultFixedPointSolver<T>
SSAInference
by providing factories that generate IVariable
s corresponding to SSA value
numbers, and AbstractOperator
s 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.Statement
DEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workList
CHANGED, 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
|
getFixedPointSystem
addAllStatementsToWorkList, 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, solve
protected 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<?>>