MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Effective Representation of Aliases and Indirect Memory Operations in SSA Form (1996) [26 citations — 1 self]

by Fred Chow ,  Sun Chan ,  Shin-ming Liu ,  Raymond Lo ,  Mark Streich
Add To MetaCart

Abstract:

. This paper addresses the problems of representing aliases and indirect memory operations in SSA form. We propose a method that prevents explosion in the number of SSA variable versions in the presence of aliases. We also present a technique that allows indirect memory operations to be globally commonized. The result is a precise and compact SSA representation based on global value numbering, called HSSA, that uniformly handles both scalar variables and indirect memory operations. We discuss the capabilities of the HSSA representation and present measurements that show the effects of implementing our techniques in a production global optimizer. Keywords. Aliasing, Factoring dependences, Hash tables, Indirect memory operations, Program representation, Static single assignment, Value numbering. 1 Introduction The Static Single Assignment (SSA) form [CFR+91] is a popular and efficient representation for performing analyses and optimizations involving scalar variables. Effecti...

Citations

644 Efficiently computing static single assignment form and the control dependence graph – Cytron, Ferrante, et al. - 1991
348 Efficient context-sensitive pointer analysis for C programs – Wilson, Lam - 1995
320 Analysis of pointers and structures – Chase, Wegman, et al. - 1990
265 Constant propagation with conditional branches – Wegman, Zadeck - 1991
189 Zadeck. Detecting equality of variables in programs – Alpern, Wegman, et al. - 1988
184 Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects – Choi, Burke, et al. - 1993
148 Global value numbers and redundant computation – Rosen, Wegman, et al. - 1988
116 Context-Insensitive Alias Analysis Reconsidered – Ruf - 1995
79 Beyond induction variables – Wolfe - 1992
66 A portable machine-independent global optimizer { design and measurements – Chow - 1983
32 Programming languages and their compilers – Cocke, Schwartz - 1970
23 On the Efficient Engineering of Ambitious Program Analysis – Choi, Cytron, et al. - 1994
21 Global code motion, global value numbering – Click - 1995
16 Sparse functional stores for imperative programs – Steensgaard - 1995
3 Efficient Accomodation of May-alias Information – Cytron, Gershbein - 1993