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

Flow-sensitive interprocedural constant propagation

Authors Info & Claims
Published:01 June 1995Publication History

ABSTRACT

We present a flow-sensitive interprocedural constant propagation algorithm, which supports recursion while only performing one flow-sensitive analysis of each procedure. We present experimental results which show that this method finds substantially more constants than previous methods and is efficient in practice. We introduce new metrics for evaluating interprocedural constant propagation algorithms which measure the number of interprocedural constant values that are propagated. We use these metrics to provide further experimental results for our algorithm.

References

  1. 1.Frances Allen, Michael Burke, Philippe Charles, Ron Cytron, and Jeanne Ferrante. An overview of the ptran analysis system for multiprocessing. Journal of Parallel and Distributed Computing, 5(5):617-640, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Frances E. Allen. Interprocedural data flow analysis. Proc. IFIP Congress 74, pages 398-402, 1974.Google ScholarGoogle Scholar
  3. 3.Subra Balan and Walter Bays editors. Spec announces new benchmark suites cint92 and cfp92. Technical report, Systems Performance Evaluation Cooperative, March 1992. SPEC Newsletter, Volume4, Issue 1.Google ScholarGoogle Scholar
  4. 4.John Banning. An efficient way to find the side effects of procedure calls and the aliases of variables. 6th Annual ACM Symposium on the Principles of Programming Languages, pages 29-4 i, January 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.David Binkley. Interprocedural constant propagation using dependence graphs and a data-flow model. In International Conference on Compiler Construction, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Michael Burke. An interval-based approach to exhaustive and incremental interprocedural data-flow analysis. ACM Transactions on Programming Languages and Systems, 12(3):341-395, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Michael Burke and Paul Carini. Compile-Time Measurements of Interprocedural Data-Sharing in FOR- TRAN Programs. RC 17389 76684, IBM- T.J. Watson Research Center, November 1991.Google ScholarGoogle Scholar
  8. 8.Michael Burke, Paul Carini, Jong-Deok Choi, and Michael Hind. Flow-insensitive interprocedural alias analysis in the presence of pointers. In K. Pingali, U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, editors, Lecture Notes in Computer Science, 892, pages 234-250. Springer-Verlag, 1995. Proceedings from the 7th International Workshop on Languages and Compilers for Parallel Computing. Extended version published as Research Report RC 19546, IBM T. J. Watson Research Center, September, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.Michael Burke and Ron Cytron. interprocedura}~ dependence analysis and parallelization. In SIGPLAN '86 Symposium on Compiler Construction, pages 162-175. ACM, July 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.David Callahan. Keith D. Cooper. Ken Kennedy, and Linda Torczon. Interprocedural constant propagation. In SIGPLAN '86 Symposium on Compiler Construction, pages 152-161, July 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Jong-Deok Choi, Michael Burke, and Paul Carini. Efficient flow-sensitive interprocedural computation of pointer-induces aliases and side effects. In 20th Annual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, pages 232-245, January 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.K eith Cooper and Ken Kennedy. Efficient computation of flow insensitive interprocedural summary information. In SIGPLAN '84 Symposium on Compiler Construction, pages 247-258, June 1984. SIGPLAN Notices, Vol 19, No 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. W~gman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, October 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Jeanne Ferrante, Karl J. Ottenstein, and Joe Warren. The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems, 9(3):319-349, July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Dan Grove. Private Communication, October 1994.Google ScholarGoogle Scholar
  16. 16.Dan Grove and Linda Torczon. Interprocedural const~mt propagation: A study of jump function implementations. In SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 90-99, June 1993. SiGPLAN Notices 286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Michael Hind, Michael Burke, Paul Carini, and Sam Midkiff. A comparison of interprocedural array analysis methods. Scientific Programming, 3:255-271, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and Michael Wolfe. Dependence graphs and compiler optimizations. In 8th Annual ACM Symposium on the Principles of Programming Languages, pages 207-218, 19'81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.T.J. Marlowe, B.G. Ryder, and M.G. Burke. Defining flow-sensitivity in data flow problems. In Preparation, 1995.Google ScholarGoogle Scholar
  20. 20.R. Metzger and S. Stroud. Interprocedural constant propagation: An empirical study. ACM Letters on Programming Languages and Systems, 2(I-4), 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.Joseph Uniejewski. Spec benchmark suite: Designed for today's advanced systems. Technical report, Systems Performance Evualation Cooperative, Fall 1989. SF'EC Newsletter, Volume 1, Issue 1.Google ScholarGoogle Scholar
  22. 22.Mark N. Wegman and F. Kenneth Zadeck. Const,rot propagation with conditional branches. A CM Transactions on Programming Languages and Systems, 13(2):181-210, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Flow-sensitive interprocedural constant propagation

        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 '95: Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
          June 1995
          335 pages
          ISBN:0897916972
          DOI:10.1145/207110

          Copyright © 1995 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 1995

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          PLDI '95 Paper Acceptance Rate28of105submissions,27%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