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