Symbolic Analysis in the PROMIS Compiler
PROMIS is a multilingual, parallelizing, and optimizing compiler which is being developed at the Univ. of Illinois with its optimizing ILP backend developed at Univ. of California at Irvine. In PROMIS, symbolic analysis is performed through an abstract interpretation of the input program. Abstract interpretation is a technique for approximating the execution of the program by mapping symbolic (closed form) values computed at compile time to the actual values computed at runtime. This paper describes the symbolic analysis framework in the PROMIS compiler, and its application to Java program optimizations.
Unable to display preview. Download preview PDF.
- 1.S. Carroll. Optimizing java for native execution. Master’s thesis, Uiv. of Illinois, 1999. (in preparation).Google Scholar
- 2.P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the ACM SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 238–252, January 1977.Google Scholar
- 3.M. Haghighat. Symbolic Analysis for Parallelizing Compilers. Kluwer Academic Publishers, 1995.Google Scholar
- 4.H. Saito, N. Stavrakos, S. Carroll, C. Polychronopoulos, and A. Nicolau. The design of the PROMIS compiler. In Proceedings of the International Conference on Compiler Construction (CC), March 1999.Google Scholar
- 5.N. Stavrakos. Symbolic Analysis: A Unified Framework for Analyzing and Optimizing Programs. PhD thesis, Univ. of Illinois, 2000. (in preparation).Google Scholar
- 6.N. Stavrakos, S. Carroll, H. Saito, C. Polychronopoulos, and A. Nicolau. Symbolic analysis in the PROMIS compiler. Technical Report 1564, Center for Supercomputing Research and Development, Univ. of Illinois, May 1999.Google Scholar