2006 International Conference on Parallel Architectures and Compilation Techniques (PACT) (2006)
Seattle, WA, USA
Sept. 16, 2006 to Sept. 20, 2006
DOI Bookmark: http://doi.ieeecomputersociety.org/
Silvius Rust , Parasol Lab, Department of Computer Science, Texas A&M University
Guobin He , Parasol Lab, Department of Computer Science, Texas A&M University
Christophe Alias , Laboratoire de l'Informatique du Parallelism, ENS Lyon
Lawrence Rauchwerger , Parasol Lab, Department of Computer Science, Texas A&M University
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 array privatization and show performance improvement (speedups) for benchmark codes.
Parallelization, Array SSA, Constant Propagation
S. Rust, G. He, C. Alias and L. Rauchwerger, "Region array SSA," 2006 International Conference on Parallel Architectures and Compilation Techniques (PACT), Seattle, WA, USA, 2006, pp. 43-52.