Symbolic Evaluation for Parallelizing Compilers

Symbolic Evaluation for Parallelizing Compilers

Abstract

In this paper we describe efficient symbolic evaluation techniques to compute the values of variables and symbolic expressions, and to determine the condition under which control flow reaches a program statement at compile time. Computations are represented as algebraic expressions over the input data which maintains the crucial relationship between input data and the resulting analysis information. Our symbolic evaluation techniques comprise accurate modeling of assignment and conditional statements, loops, recurrences, arrays (including indirect accesses) and procedures. Efficiency and accuracy is highly improved by aggressive usage of simplification techniques. Examples including program verification, dependence analysis, array privatization, communication vectorization, and elimination of redundant communication are used to illustrate how our symbolic evaluation techniques support program optimization in the context of a distributed memory parallelizing compiler.

Grafik Top
Authors
  • Fahringer, T.
  • Scholz, B.
Grafik Top
Shortfacts
Category
Technical Report (Technical Report)
Divisions
Scientific Computing
Publisher
Institute for Software Technology and Parallel Systems, University of Vienna
Date
October 1997
Official URL
http://www.par.univie.ac.at/publications/download/...
Export
Grafik Top