Abstract
In the previous chapters we have introduced the notation for program contexts and a general framework for generating these contexts. In order to compute contexts and develop useful applications that use context information, we frequently need to examine generic symbolic expressions as part of program contexts. Besides that, numerous researchers [20], [98], [44], [18], [102], [67], [71], [29] have reported on the occurrence of complex and even non-linear symbolic expressions in practical codes and the need for effective techniques to analyze such expressions. Non-linear symbolic expressions are commonly caused by induction variable substitution, linearizing arrays, parameterizing parallel programs with symbolic machine and problem sizes, tiling with symbolic block sizes, recurrences, and so forth. Symbolic expressions can seriously hamper crucial compiler and performance analyses including testing for data dependences, optimizing communication, array privatization, expression simplification, dead code elimination, detecting zero-trip-loops, performance prediction, etc. The inability to effectively handle symbolic expressions and constraints (e.g. symbolic conditions contained in program context information) commonly results in worst case assumptions, or program analysis is moved into execution time and consequently may cause considerable performance losses.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
(2003). Symbolic Analysis Algorithms and Transformations. In: Fahringer, T., Scholz, B. (eds) Advanced Symbolic Analysis for Compilers. Lecture Notes in Computer Science, vol 2628. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36614-8_4
Download citation
DOI: https://doi.org/10.1007/3-540-36614-8_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-01185-9
Online ISBN: 978-3-540-36614-0
eBook Packages: Springer Book Archive