proposal for compilation unil wide alias analyis
Mircea Namolaru
NAMOLARU@il.ibm.com
Mon Jun 28 11:57:00 GMT 2004
We started to implement IPA constant propagation
(see http://gcc.gnu.org/ml/gcc/2004-06/msg00518.html) and also look into
some related IPA alias analysis issues.
As we understand it, your proposal targets static variables only.
Extending
the analysis to reference formal arguments may detect aliasing introduced
by
parameter passing (in Fortran this is the only way two variables can
alias).
Our IPA constant propagation handles exactly this case (constants
propagated
via parameters). It can be easily extended to handle reference parameters
also.
We thought of using the IPA/CP code as a base for detecting the aliasing
of
formal arguments (see Cooper and Kennedy - Fast Interprocedural Alias
Analysis,
PLDI 1989, and Muchnick, pages 642-654). This part could be complimentary
to
your analysis for static (global) variables. But maybe you intend to
implement
such an analysis differently at a later stage.
Regarding our IPA constant propagation, we also used flow insensitive
analysis.
We also faced the same problems regarding the intermediate representation:
we started with parse trees and are now using high level gimple on
tree-profiling branch. The intraprocedural analysis that we do is fairly
simple
and straightforward, so passing from one representation to another should
not
be much of a problem. The IPA constant propagation doesn't handle statics
(globals) so your analysis could probably help us extend it.
Mircea and Razya
More information about the Gcc
mailing list