Region array SSA

Silvius Rust, Guobin He, Christophe Alias, Lawrence Rauchwerger

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 array privatization and show performance improvement (speedups) for benchmark codes.

Original languageEnglish (US)
Title of host publicationPACT 2006 - Proceedings of the Fifteenth International Conference on Parallel Architectures and Compilation Techniques
Pages43-52
Number of pages10
DOIs
StatePublished - 2006
Externally publishedYes
EventPACT 2006 - 15th International Conference on Parallel Architectures and Compilation Techniques - Seattle, WA, United States
Duration: Sep 16 2006Sep 20 2006

Publication series

NameParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
Volume2006
ISSN (Print)1089-795X

Other

OtherPACT 2006 - 15th International Conference on Parallel Architectures and Compilation Techniques
Country/TerritoryUnited States
CitySeattle, WA
Period9/16/069/20/06

Keywords

  • Array SSA
  • Constant propagation
  • Parallelization

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Region array SSA'. Together they form a unique fingerprint.

Cite this