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.