Class SSAInference<T extends IVariable<T>>
java.lang.Object
com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<T>
com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver<T>
com.ibm.wala.dataflow.ssa.SSAInference<T>
- All Implemented Interfaces:
FixedPointConstants
,IFixedPointSolver<T>
,VerboseAction
- Direct Known Subclasses:
TypeInference
This class performs intra-procedural propagation over an SSA form.
A client will subclass an 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.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
SSAInference.OperatorFactory<T extends IVariable<T>>
static interface
SSAInference.VariableFactory<T extends IVariable<T>>
Nested classes/interfaces inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
AbstractFixedPointSolver.Statement
-
Field Summary
Fields inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
DEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workList
Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected T
getVariable
(int valueNumber) protected void
init
(IR ir, SSAInference.VariableFactory<T> varFactory, SSAInference.OperatorFactory<T> opFactory) initializer for SSA Inference equations.toString()
Return a string representation of the systemMethods inherited from class com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver
getFixedPointSystem
Methods inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
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
-
Constructor Details
-
SSAInference
public SSAInference()
-
-
Method Details
-
init
protected void init(IR ir, SSAInference.VariableFactory<T> varFactory, SSAInference.OperatorFactory<T> opFactory) initializer for SSA Inference equations. -
getVariable
- Returns:
- the dataflow variable representing the value number, or null if none found.
-
toString
-