[comp.compilers] Aliasing

preston@rice.edu (Preston Briggs) (05/29/90)

In article <54866@microsoft.UUCP> Mark Roberts write:
>Actually, it is possible to do a pretty decent job of alias analysis; it is
>just very computationaly expensive.

There's at least 3 kinds of aliasing I can think of:

  1) Aliasing caused by reference parameters (two parameters aliased or
	a parameter and a global aliased).  This is an interprocedural
	problem and is addressed by Fortran's anti-aliasing restrictions.
	It's also the problem addressed by the Cooper-Kennedy work.

  2) Aliasing caused by arrays (e.g., do A[i] and A[j] refer to the
	same location?).  This is the problem addressed by
	dependence analysis.  Reference Kuck, Bannerjee, Wolfe,
	Allen, Kennedy, and many others.

  3) Aliasing caused by pointers (do *p and q->key refer to the
	same location?).  This is the one that doesn't occur in Fortran.
	Reference Larus and Hilfinger, Sigplan '88 for example.
	Also, Chase, Wegman, and Zadeck have a paper appearing in
	Sigplan '90.

>[Now Preston can give us his 'why I like Fortran' spiel ;-) ]

How embarrassing.  For the record, I dislike Fortran even more than C.
Too many people assume because I slam C's pointers that I must therefore
like Fortran.  The language spectrum isn't so restricted!  Support
your local alternative language -- SML, Oberon, Clu, Beta, ...

-- 
Preston Briggs				looking for the great leap forward
preston@titan.rice.edu
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{spdcc | ima | lotus}!esegue.  Meta-mail to compilers-request@esegue.
Please send responses to the author of the message, not the poster.