public class PointsToAnalysis extends AnalysisPass
PointsToDomain
and PointsToRel
, which make use of different
Symbol
information to a large extent. Aggregate structures such as
arrays are handled conservatively, while struct types are handled more
precisely. The analyzer also supports useful, but conservative, information
handling for heap-allocated variables.
The analyzer is directly used by the Interprocedural Points-to Analyzer, to provide advanced static-time pointer information. Thus, function calls inside of procedures can be supported during intraprocedural analysis.
The analysis is implemented based on the design described in the following M.S. Thesis:
"A Practical Interprocedural Alias Analysis for an Optimizing/Parallelizing C Compiler", Maryam Emami, 1993.
PointsToDomain
,
PointsToRel
,
IPPointsToAnalysis
Constructor and Description |
---|
PointsToAnalysis(Program program) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getPassName() |
void |
start()
Simple intraprocedural analysis can be run for a procedure that does not
have pointers in formal parameters.
|
run
public PointsToAnalysis(Program program)
public java.lang.String getPassName()
getPassName
in class AnalysisPass
public void start()
For complete use of points-to information, use interprocedural points-to analysis, which directly uses information generated by the intraprocedural analyzer.
start
in class AnalysisPass