ReachAnalyzer
A very simple analyzer to find places that the control flow can reach. The analysis works by setting each Block’s fields “reachUp” and “reachDown”, which are initially “false”.
accumulateValuesFromDownstream
accumulateValuesFromUpstream
analyze
compareDownstreamValues
compareUpstreamValues
initializeCGForRootUnit
initializeCGForUnit
initializeFGForBlock
initializeInitBlock
initializeUnit
propagateValuesBackwardThroughBlock
propagateValuesForwardThroughBlock
run
Runs reach analysis, bottom-up from the leaves of the CallGraph. As a result, fills the backReachUp and reachDown fields of each Block.
runAnalysis
Main trigger method. Runs reach analysis under the given rootUnits.
terminateUnit