Many common compiler optimizations require precise analysis of the flow of data within a program. This project will extend the data flow analysis algorithms to apply them to explicitly parallel imperative languages. The basis for this work will be the Static Single Assignment (SSA) form of a program, which was developed for sequential languages. This project will use a nested graph intermediate representation to describe the sequential and parallel parts of the program. New constructs will be added to the SSA form to describe the parallelism and nondeterminism that arises from explicitly parallel programs. The algorithms for generating the SSA representation of a program will be modified to handle the parallel constructs. New algorithms will be developed to find potential anomalies in parallel code. A prototype compiler has been developed (with prior NSF support) that recognizes the emerging ANSI standard parallel Fortran syntax. All of the algorithms developed for this project will be implemented in that system.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
9113885
Program Officer
Forbes D. Lewis
Project Start
Project End
Budget Start
1992-01-01
Budget End
1994-06-30
Support Year
Fiscal Year
1991
Total Cost
$142,410
Indirect Cost
Name
Oregon Graduate Institute of Science & Technology
Department
Type
DUNS #
City
Beaverton
State
OR
Country
United States
Zip Code
97006