Title :
Symbolic range propagation
Author :
Blume, William ; Eigenmann, Rudolf
Author_Institution :
Center for Supercomput. Res. & Dev., Illinois Univ., Urbana, IL, USA
Abstract :
Many analyses and transformations in a parallelizing compiler can benefit from the ability to compare arbitrary symbolic expressions. In this paper, we describe how one can compare expressions by using symbolic ranges of variables. A range is a lower and upper bound on a variable. We describe how these ranges can be efficiently computed from the program test. Symbolic range propagation has been implemented in Polaris, a parallelizing compiler being developed at the University of Illinois, and is used for symbolic dependence testing, detection of zero-trip loops, determining array sections possibly referenced by an access, and loop iteration-count estimation
Keywords :
parallelising compilers; program compilers; symbol manipulation; Polaris; arbitrary symbolic expressions; array sections; loop iteration-count estimation; lower bound; parallelizing compiler; program test; symbolic range propagation; transformations; upper bound; zero-trip loops; Artificial intelligence; Benchmark testing; Contracts; Government; Information analysis; Performance evaluation; Polarization; Program processors; Research and development; Upper bound;
Conference_Titel :
Parallel Processing Symposium, 1995. Proceedings., 9th International
Conference_Location :
Santa Barbara, CA
Print_ISBN :
0-8186-7074-6
DOI :
10.1109/IPPS.1995.395956