Alias analysis pointers in Pascal and Fortran 90. I: Dependence analysis between pointer references (Q1901693)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: Alias analysis pointers in Pascal and Fortran 90. I: Dependence analysis between pointer references |
scientific article; zbMATH DE number 814146
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | Alias analysis pointers in Pascal and Fortran 90. I: Dependence analysis between pointer references |
scientific article; zbMATH DE number 814146 |
Statements
Alias analysis pointers in Pascal and Fortran 90. I: Dependence analysis between pointer references (English)
0 references
16 November 1995
0 references
Vectorization and parallelization of programs written in languages where pointers are used is now a subject of increasing interest. The presence of pointers in programs, however, poses new problems to dependence analysis in vectorizing and parallelizing compilers which had been designed to target only at FORTRAN77 programs. In this paper, a new method to analyze dependencies between pointer references in Pascal is proposed, which can also be applied to Fortran 90. It is designed to handle programs with dynamic data structures, such as linear linked lists or trees, which are the most common use of pointers. The method divides into two stages. The first stage is a safe alias analysis which handles any kind of dynamic data structures. It first detects linear linked lists, and then performs dependence analysis between pointer references to the same list. The paper also proposes ways to enhance the second stage. Tree structures and handled here. Loops which manipulate linked lists can now be considered for vectorization by the proposed analysis. Techniques to vectorize such loops are presented in this paper. Some of the proposed algorithms are implemented in \(V\)-Pascal, the automatic vectorizing Pascal compiler of our laboratory. The effectiveness of the vectorization of list operations is proved by an experiment on HITAC S- 820/80.
0 references
vectorizing compilers
0 references
pointers
0 references
parallelizing compilers
0 references
Pascal
0 references
Fortran 90
0 references
dynamic data structures
0 references
alias analysis
0 references
linked lists
0 references
loops
0 references
0.82925886
0 references
0.82650065
0 references
0 references
0.8142399
0 references