Scalable Array SSA and Array Data Flow Analysis Conference Paper uri icon

abstract

  • Static Single Assignment (SSA) has become the intermediate program representation of choice in most modern compilers because it enables efficient data flow analysis of scalars and thus leads to better scalar optimizations. Unfortunately not much progress has been achieved in applying the same techniques to array data flow analysis, a very important and potentially powerful technology. In this paper we propose to improve the applicability of previous efforts in array SSA through the use of a symbolic memory access descriptor that can aggregate the accesses to the elements of an array over large, interprocedural program contexts. We then show the power of our new representation by using it to implement a basic data flow algorithm, reaching definitions. Finally we apply this analysis to array constant propagation and show performance improvement (speedups) for benchmark codes. ¬© 2006 Springer-Verlag Berlin Heidelberg.

name of conference

  • Languages and Compilers for Parallel Computing, 18th International Workshop, LCPC 2005, Hawthorne, NY, USA, October 20-22, 2005, Revised Selected Papers

published proceedings

  • LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING

author list (cited authors)

  • Rus, S., He, G., & Rauchwerger, L

citation count

  • 2

complete list of authors

  • Rus, Silvius||He, Guobin||Rauchwerger, Lawrence

editor list (cited editors)

  • Ayguad√©, E., Baumgartner, G., Ramanujam, J., & Sadayappan, P.

publication date

  • January 2006