- Direct Known Subclasses:
- IPPointsToAnalysis, IPRangeAnalysis, MayMod
public abstract class IPAnalysis
extends AnalysisPass
Class IPAnalysis provides common framework for interprocedural analysis
passes. The following features are supported now.
- Generation of call graphs.
- Three solvers -- top-down, bottom-up, and worklist.
These abstract methods need to be implemented in the child class.
- analyzeProcedure(IPANode node) -- procedure analysis
- updateCall(IPANode node) -- forward data update
- updateCalls(IPANode node) -- forward data update (worklist only)
- updateReturn(IPANode node) -- backward data update
For example, a side-effect problem needs to provide the analyzer that
collects the side effects of a procedure in the "analyzerProcedure", and the
summarization routine in the "updateReturn" method.