Skip to main content
Log in

The polaris internal representation

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

The Polaris Program Manipulation System is a production quality tool for source-to-source transformations and complex analysis of Fortran code. In this paper, we describe the motivations for and the implementation of Polaris' internal representation (IR). The IR is composed of a basic abstract syntax tree on top of which exist many layers of functionality. This functionality allows complex operations on the data structure. Further, the IR is designed to enforce the consistency of the internal structure in terms of both the correctness of the data structures and the correctness of the Fortran code being manipulated. In addition, operations on the IR result in the automatic updating of affected data structures such as flow information. We describe low the system's philosophies developed from its predecessor, the Delta prototyping system, and how they were implemented in Polaris' IR. We also provide a number of examples of using the Polaris system.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. W. Blume, R. Eigenmann, K. Faigin, J. Grout, J. Hoeflinger, D. Padua, P. Petersen, W. Pottenger, L. Rauchwerger, P. Tu, and S. Weatherford, Polaris, A New Generation Parallelizing Compiler for MPPs.Seventh Annual Workshop on Languages and Compilers for Parallel Computing, Ithaca, NY 1994. CSRD Report No. 1306, University of Illinois, Urbana-Champaign, Center for Supercomputing Research and Development (June 1993).

  2. Rudolf Eigenmann, Jay Hoeflinger, Greg Jaxon, Zhiyuan Li, and David Padua, Restructuring Fortran Programs for Cedar.Proc. of the 1991 Int'l. Conf. on Parallel Processing (August 1991).

  3. David A. Padua, The Delta Program Manipulation system—Preliminary design. CSRD Report No. 808, University of Illinois, Urbana-Champaign, Center for Supercomputing Research and Development (June 1989).

  4. Paul M. Petersen, Greg P. Jaxon, and David A. Padua, A Gentle Introduction to Delta, University of Illinois, Urbana-Champaign, Center for Supercomputing Research and Development (June 1992).

  5. J. T. Schwartz, R. B. K. Dewar, E. Dubinsky, and E. Schonberg,Programming with Sets: An Introduction to Setl, Springer-Verlag (1986).

  6. F. Bodin, P. Beckman, D. Gannon, S. Narayana, and S. Srinivas, SAGE++: A Class Library for Building Fortran 90 and C++ Restructuring Tools—DRAFT 0.1.1993.

  7. Kuck and Associates, KAP for SPARC Fortran User's Guide. Beta Version 1.0, Document #9308006 (1993).

  8. Peng Tu and David Padua, Automatic Array Privatization. In Utpal Banerjee, David Gelernter, Alex Nicolau, and David Padua, (eds.),Proc. Sixth Workshop on Languages and Compilers for Parallel Computing, Lectures Notes in Computer Science, Portland, Oregon, Springer-Verlag768:500–521 (August 1993).

    Google Scholar 

  9. W. Blume and R. Eigenmann, An overview of symbolic analysis techniques needed for the effective parallelization of the PERFECT benchmarks.Proc. of the 1995 Int'l. Conf. on Parallel Processing. CSRD Report No. 1332, University of Illinois, Urbana-Champaignn, Center for Supercomputing, Research and Development (January 1994).

  10. Stephen A. Weatherford, High-Level Pattern-matching Extensions to C++ for Fortran Program Manipulation in Polaris. CSRD Report No. 1350, University of Illinois, Urbana-Champaign, Center for Supercomputing Research and Development (May 1994).

  11. J. Ferrante, K. Ottenstein and J. Warren, The Program Dependence Graph and Its Use in Optimization.ACM Trans. on Programming Languages and Systems 9(1):319–349 (1987).

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

The research described was supported by Army contract DABT63-92-C-0033. This work is not necessarily representative of the positions or policies of the Army or the Government.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Faigin, K.A., Weatherford, S.A., Hoeflinger, J.P. et al. The polaris internal representation. Int J Parallel Prog 22, 553–586 (1994). https://doi.org/10.1007/BF02577778

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02577778

Key words

Navigation