Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Theory of linear and integer programming
Theory of linear and integer programming
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
The importance of direct dependences for automatic parallelization
ICS '88 Proceedings of the 2nd international conference on Supercomputing
ICS '88 Proceedings of the 2nd international conference on Supercomputing
The Omega test: a fast and practical integer programming algorithm for dependence analysis
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
The ALPHA language and its use for the design of systolic arrays
Journal of VLSI Signal Processing Systems - Special issue: algorithms and parallel VSLI architecture
Array-data flow analysis and its use in array privatization
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Some efficient solutions to the affine scheduling problem: I. One-dimensional time
International Journal of Parallel Programming
Symbolic array dataflow analysis for array privatization and program parallelization
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Constraint-based array dependence analysis
Constraint-based array dependence analysis
Interprocedural array region analyses
International Journal of Parallel Programming - Special issue: selected papers from the eighth international workshop on languages and compilers for parallel computing
Journal of Parallel and Distributed Computing
The Organization of Computations for Uniform Recurrence Equations
Journal of the ACM (JACM)
Transformations for imperfectly nested loops
Supercomputing '96 Proceedings of the 1996 ACM/IEEE conference on Supercomputing
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Structure of Computers and Computations
Structure of Computers and Computations
Automatic Parallelization of Fortran Programs in the Presence of Procedure Calls
ESOP '86 Proceedings of the European Symposium on Programming
An Exact Method for Analysis of Value-based Array Data Dependences
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Detection of Recurrences in Sequential Programs with Loops
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Generation of Synchronous Code for Automatic Parallelization of while Loops
Euro-Par '95 Proceedings of the First International Euro-Par Conference on Parallel Processing
Improving Data Locality by Array Contraction
IEEE Transactions on Computers
Hi-index | 0.00 |
While mathematical reasoning is about fixed values, programs are written in term of memory cells, whose contents are changeable values. To reason about programs, the first step is always to abstract from the memory cells to the values they contains at a given point in the execution of the program. This step, which is known as Dataflow Analysis, may use different techniques according to the required accuracy and the type of programs to be analyzed. This paper gives a review of the ad hoc techniques which have been designed for the analysis of Array Programs. An exact solution is possible for the tightly constrained static control programs. The method can be extended to more general programs, but the results are then approximation to the real dataflow. Extensions to complex statements and to the interprocedural case are also presented. The results of Array Dataflow Analysis may be of use for program checking, program optimization and parallelization.