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

Interprocedural partial redundancy elimination and its application to distributed memory compilation

Authors Info & Claims
Published:01 June 1995Publication History

ABSTRACT

Partial Redundancy Elimination (PRE) is a general scheme for suppressing partial redundancies which encompasses traditional optimizations like loop invariant code motion and redundant code elimination. In this paper we address the problem of performing this optimization interprocedurally. We use interprocedural partial redundancy elimination for placement of communication and communication preprocessing statements while compiling for distributed memory parallel machines.

References

  1. 1.Gagan Agrawal and Joel Saltz. Interprocedural cornmunication optimizations for distributed memory compilation. In Proceedings of the 7th Workshop on Languages and Compilers for Parallel Computing, pages 283-299, August 1994. Also available as University of Maryland Technical Report CS-TR-3264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Gagan Agrawal, Alan Sussman, and Joel Salt, z. Compiler and runtime support for structured and block structured applications. In Proceedings Superco.mpt~t- ~ng '93, pages 575-587. IEEE Computer Society Press, November 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Gagan Agrawal, Alan Sussman, and Joel Saltz. An integrated runtime and compile-time approach for parallelizing structured and block structured applications. IEEE Transactions on Parallel and Distributed Systems, 1994. To appear. Also available as University of Maryland Technical Report CS-TR-3143 and UMIACS-TR-93-94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Michael Burke. An interval-based approach to exhaustive and incremental interprocedural data-flow analysis. A CM Transactions o a Programming Languages and Systems, 12(3):341-395, July 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Michael Burke and Linda Torczon. Interprocedurat optimization: Eliminating unnecessary recompilation. A CM Transactions on Programming Languages and Systems, 15(3):367-399, July 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.D. Callahan. The program summary graph and flowsensitive interprocedural data flow analysis. In Proceedings of the SIGPLAN '88 Conference on Program Language Design and Implementation, Atlanta, GA, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.K. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings of the SIGPLAN '88 Confe.reace on Program Language Design and Implementation, Atlanta, GA, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.R. Das, D. J. Mavriplis, J. Saltz, S. Gupta, and R. Ponnusamy. The design and implementation of a parallel unstructured Euler solver using software primitives. AIAA Journal, 32(3):489-496, March 1994.Google ScholarGoogle ScholarCross RefCross Ref
  9. 9.Raja Das, Joel Saltz, and Reinhard von Hanxleden. Slicing analysis and indirect access to distributed arrays. In Proceedings of the 6th Workshop on Languages and Comp,lers /or Parallel Computing, pages 152-168. Springer-Verlag, August 1993. Also available as University of Maryland Technical Report 0S-TR-3076 and UMIACS-TR-93-42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.D.M. Dhamdhere and H. Patti. An elimination algorithm for bidirectional data flow problems using edge placement. A CM Transactions or, Programming Languages and Systems, 15(2):312-336, April 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.K. Drechsler and M. Stadel. A solution to a. problem with Morel and Renvoise's "Global optimization by suppression of partial redultdancies". A CM Trar, sact~ons or, Program.m~ng Languages and Systems, 10(4):635-640, October 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Manish Gupta, Edith Schonberg, and Harini Srinivasan. A unified data flow framework for optimizing communication. In Proceedings of Languages and Compilers for Parallel Computing, August 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Mary Hall, John M Mellor Crummey, Alan Carle, and Rene G Rodriguez. FIAT: A framework for interprocedural analysis and transformations. In Proceedings of the 6th Workshop on Languages and Compilers for Parallel Comput~r~g. pages 522-545. Springer-Verlag, August 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Reinhard v. Hanxleden. Handling irregular problems with Fortran D- a preliminary report. In Proceedings of the Fourth Workshop on Compilers for Parallel Computers, Delft, The Netherlands, December 1993. Also awil~ble as CRPC Technical Report CRPC- TR93339-S.Google ScholarGoogle ScholarCross RefCross Ref
  15. 15.Reinhard von Hanxleden and Ken Kennedy. Give-ntake- a balanced code placement framework. In Proceedings of the SIGPLAN '9~ Conference on Programmir~g Language Design and Imptemer~tation, pages 107-120. ACM Press, June 1994. ACM SIGPLAN Notices, Vol. 29, No. 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Mary Jean Harrold and Mary Lou Sofia. Efficient computation of interprocedural definition-use chains. A CM Trar~act~on~ or~ Programming Lang~ag~~ arid Sy~tem~ 16(2):175-204, March 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Compiling Fortran D for MIMD distributedmemory machines. Communications of the A CM, 35(8):66-80, August 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.J. Knoop and Steffan B. Efficient interprocedurat bitvector data flow analyses: A uniform interprocedural framework. Technical report, Dept. of Computer Science, University of Kiel, September 1993.Google ScholarGoogle Scholar
  19. 19.J. Knoop, O. R/ithing, and B. Steffen. Lazy code motion. In Proceedings of the A CM SIGPLAN '92 Con. ference on Program Language Design and Implementation, San Francisco, CA, June 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.E. Morel and C. Renvoise. Global optimization by suppression of partial redundancies. Com'mun~cations of the A CM, 22(2):96-103, February 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.E. Morel and C. Renvoise. Interprocedural elimination of partial redundancies. In Program Flow Analysis: Theory and Applications. Prentice Hall, Englewood Cliffs, N J, 1981.Google ScholarGoogle Scholar
  22. 22.E. Myers. A precise interprocedural data flow aklgorithm. In Conference Record of the Eighth A UM Symposium on the Principles of Programming Languages, pages 219-230, January 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.Thomas Reps, Susan Horowitz, and Mooly Sagiv. Precise interprocedural dataflow analysis via graph reachability. In Conference Record of the Fourteenth Annual A CM SIGA CT/SIGPLAN Symposium on Princ~iples of Programming Languages, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.Joel Saltz, Kathleen Crowley, Ravi Mirchandaney, and Harry Berryman. Run-time scheduling and execution of loops on message passing machines. Journal of Parallel and Distributed Computing, 8(4):303-312, April 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.A. Sorkin. Some comments on "A solution to a problem with Morel and Renvoise's 'Global optimization by suppression of partial redundancies'" A CM Transactions on Programming Languages and Systems, 11(4):666-668, October 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Interprocedural partial redundancy elimination and its application to distributed memory compilation

            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