A practical data flow framework for array reference analysis and its use in optimizations
- 1 June 1993
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 28 (6) , 68-77
- https://doi.org/10.1145/173262.155097
Abstract
Data flow analysis techniques have traditionally been restricted to the analysis of scalar variables. This retriction, however, imposes a limitation on the kinds of optimizations that can be performed in loops containing array references. We present a data flow framework for array reference analysis that provides the information needed in various optimizations targeted at sequential or fine-grained parallel architectures. The framework extends the traditional scalar framework by incorporating iteration distance values into the analysis to qualify the computed data flow solution during the fixed point iteration. Analyses phrased in this framework are capable of discovering recurrent access patterns among array references that evolve during the execution of a loop. Applications of our framework are discussed for register allocation, load/store optimizations, and controlled loop unrolling.This publication has 18 references indexed in Scilit:
- Dataflow analysis of array and scalar referencesInternational Journal of Parallel Programming, 1991
- Region scheduling: an approach for detecting and redistributing parallelismIEEE Transactions on Software Engineering, 1990
- Properties of data flow frameworksActa Informatica, 1990
- Structured dataflow analysis for arrays and its use in an optimizing compilerSoftware: Practice and Experience, 1990
- Improving register allocation for subscripted variablesPublished by Association for Computing Machinery (ACM) ,1990
- The importance of direct dependences for automatic parallelizationPublished by Association for Computing Machinery (ACM) ,1988
- Data dependence and its application to parallel processingInternational Journal of Parallel Programming, 1987
- Register allocation by priority-based coloringACM SIGPLAN Notices, 1984
- Unrolling loops in fortranSoftware: Practice and Experience, 1979
- Monotone data flow analysis frameworksActa Informatica, 1977