TY - GEN
T1 - Scalable array SSA and array data flow analysis
AU - Rus, Silvius
AU - He, Guobin
AU - Rauchwerger, Lawrence
N1 - Copyright:
Copyright 2011 Elsevier B.V., All rights reserved.
PY - 2006
Y1 - 2006
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=43949132122&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=43949132122&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-69330-7_27
DO - 10.1007/978-3-540-69330-7_27
M3 - Conference contribution
AN - SCOPUS:43949132122
SN - 3540693297
SN - 9783540693291
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 397
EP - 412
BT - Languages and Compilers for Parallel Computing - 18th International Workshop, LCPC 2005, Revised Selected Papers
T2 - 18th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2005
Y2 - 20 October 2005 through 22 October 2005
ER -