A language for conveying the aliasing properties of dynamic, pointer-based data structures
- 17 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 208-216
- https://doi.org/10.1109/ipps.1994.288299
Abstract
High-performance architectures rely upon powerful optimizing and parallelizing compilers to maximize performance. Such compilers need accurate program analysis to enable their performance-enhancing transformations. In the domain of program analysis for parallelization, pointer analysis is a difficult and increasingly common problem. When faced with dynamic, pointer-based data structures, existing solutions are either too limited in the types of data structures they can analyze, or require too much effort on the part of the programmer. In this paper we present a powerful description language for expressing the aliasing properties of dynamic date structures. Such descriptions provide the compiler with better information during alias analysis, and require only minimal effort from the programmer. Ultimately, this enables a more accurate program analysis, and an increased application of performance-enhancing transformations.Keywords
This publication has 12 references indexed in Scilit:
- A storeless model of aliasing and its abstractions using finite representations of right-regular equivalence relationsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Astrophysical N-body simulations using hierarchical tree data structuresPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Graph typesPublished by Association for Computing Machinery (ACM) ,1993
- Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effectsPublished by Association for Computing Machinery (ACM) ,1993
- Abstractions for recursive pointer data structuresPublished by Association for Computing Machinery (ACM) ,1992
- Analysis of pointers and structuresPublished by Association for Computing Machinery (ACM) ,1990
- Parallelizing programs with recursive data structuresIEEE Transactions on Parallel and Distributed Systems, 1990
- Dependence analysis for pointer variablesPublished by Association for Computing Machinery (ACM) ,1989
- A hierarchical O(N log N) force-calculation algorithmNature, 1986
- An Efficient Program for Many-Body SimulationSIAM Journal on Scientific and Statistical Computing, 1985