skip to main content
10.1145/155090.155099acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Interprocedural constant propagation: a study of jump function implementation

Published:01 June 1993Publication History

ABSTRACT

An implementation of interprocedural constant propagation must model the transmission of values through each procedure. In the framework proposed by Callahan, Cooper, Kennedy, and Torczon in 1986, this intraprocedural propagation is modeled with a jump function. While Callahan et al. propose several kinds of jump functions, they give no data to help choose between them. This paper reports on a comparative study of jump function implementations. It shows that different jump functions produce different numbers of useful constants; it suggests a particular function, called the pass-through parameter jump function, as the most cost-effective in practice.

References

  1. 1.Bowen Alpern, Mark N. Wegman, and F. Kenneth Zadeck. Detecting equality of variables in programs. In Conference Record of the Fifteenth Annual A CM Symposium on Principles of Programming Languages, pages 1-11, January 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Robert A. Ballance, Arthur B. Maccabe, and Karl J. Ottenstein. The program dependence web: A representation supporting control, data, and demand-driven interpretation of imperative languages. $IGPLAN Notices, 25(6):257-271, June 1990. Proceedings of the A CM SIGPLAN '90 Conference on Programming Language Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Michael Burke and Ron Cytron. Interprocedural dependence analysis and parallelization. SIC- PLAN Notices, 21(7):162-175, July 1986. Proceedings of the A CM $IGPLAN '86 Symposium on Compiler Construction. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.David Callahan, Keith D. Cooper, Ken Kennedy, and Linda Torczon. Interprocedural constant propagation. $IGPLAN Notices, 21(7):152-161, July 1986. Proceedings of the A CM $IGPLAN '86 Symposium on Compiler Construction. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Keith D. Cooper, Mary W. Hall, Robert T. Hood, Ken Kennedy, Kathryn McKinley, John Mellor-Crummey, Linda Torczon, and Scott K. Warren. The ParaScope parallel programming environment. Proceedings of the IEEE, February 1993. (to appear).Google ScholarGoogle ScholarCross RefCross Ref
  6. 6.Keith D. Cooper, Mary W. Hall, and Ken Kennedy. Procedure cloning. In Proceedings of the IEEE Computer Society 1992 International Conference on Computer Languages, pages 96- 105, April 1992.Google ScholarGoogle ScholarCross RefCross Ref
  7. 7.Keith D. Cooper and Ken Kennedy. Interprocedural side-effect analysis in linear time. SIC- PLAN Notices, 23(7):57-66, July 1988. Proceedings of the A CM $iGPLAN '88 Conference on Programming Language Design and Implementation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. A CM Transactions on Programming Languages and Systems, 13(4):451-490, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.Rudolf Eigenmann and William Blume. An effectiveness study of parallelizing compiler techniques. In Proceedings of the 1991 International Conference on Parallel Processing, St. Charles, IL, August 1991.Google ScholarGoogle Scholar
  10. 10.Paul Havlak. Interprocedural Symbolic Analysis. PhD thesis, Rice University, expected May, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Matthew S. Hecht. Flow Analysis of Computer Programs. Programming Languages Series. Elsevier North-Holland, Inc., 52 Vanderbilt Avenue, New York, NY 10017, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Gary A. Kildall. A unified approach to global program optimization. In Conference Record of the A CM Symposium on Principles of Programming Languages, pages 194-206, October 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Robert Metzger and Sean Stroud. Interprocedural constant propagation: An empirical study. (To appear in A CM Letters on Programming Languages and Systems). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Zhiyu Shen, Zhiyuan Li, and Pen-Chung Yew. An empirical study of FORTRAN programs for parallelizing compilers. IEEE Transactions on Parallel and Distributed Systems, 1(3):356-364, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Jaswinder P. Singh and John Hennessy. An empirical investigation of the effectiveness of and limitations of automatic parallelization. In Proceedings of the International Symposium on Shared Memory Multiprocessors, Tokyo, japan, April 1991.Google ScholarGoogle Scholar
  16. 16.Mark N. Wegman and F. Kenneth Zadeck. Constant propagation with conditional branches. A CM Transactions on Programming Languages and Systems, 13(2):181-210, April 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Interprocedural constant propagation: a study of jump function implementation

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          PLDI '93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
          August 1993
          313 pages
          ISBN:0897915984
          DOI:10.1145/155090

          Copyright © 1993 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 June 1993

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate406of2,067submissions,20%

          Upcoming Conference

          PLDI '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader