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

Published: 01 June 1995 Publication 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]
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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 1995

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI95
Sponsor:

Acceptance Rates

PLDI '95 Paper Acceptance Rate 28 of 105 submissions, 27%;
Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)64
  • Downloads (Last 6 weeks)10
Reflects downloads up to 06 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Lazy Evaluation for the Lazy: Automatically Transforming Call-by-Value into Call-by-NeedProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580270(239-249)Online publication date: 17-Feb-2023
  • (2019)Generating piecewise-regular code from irregular structuresProceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3314221.3314615(625-639)Online publication date: 8-Jun-2019
  • (2018)The Sparse Polyhedral Framework: Composing Compiler-Generated Inspector-Executor CodeProceedings of the IEEE10.1109/JPROC.2018.2857721106:11(1921-1934)Online publication date: Nov-2018
  • (2015)Distributed memory code generation for mixed Irregular/Regular computationsACM SIGPLAN Notices10.1145/2858788.268851550:8(65-75)Online publication date: 24-Jan-2015
  • (2015)Distributed memory code generation for mixed Irregular/Regular computationsProceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/2688500.2688515(65-75)Online publication date: 24-Jan-2015
  • (2014)Automatic parallelization of a class of irregular loops for distributed memory systemsACM Transactions on Parallel Computing10.1145/26602511:1(1-37)Online publication date: 3-Oct-2014
  • (2012)Code generation for parallel execution of a class of irregular loops on distributed memory systemsProceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis10.5555/2388996.2389094(1-11)Online publication date: 10-Nov-2012
  • (2012)Automatic code overlay generation and partially redundant code fetch eliminationACM Transactions on Architecture and Code Optimization10.1145/2207222.22072269:2(1-32)Online publication date: 15-Jun-2012
  • (2012)Code generation for parallel execution of a class of irregular loops on distributed memory systemsProceedings of the 2012 International Conference for High Performance Computing, Networking, Storage and Analysis10.1109/SC.2012.30(1-11)Online publication date: 10-Nov-2012
  • (2011)Compiling Dynamic Data Structures in Python to Enable the Use of Multi-core and Many-core LibrariesProceedings of the 2011 International Conference on Parallel Architectures and Compilation Techniques10.1109/PACT.2011.13(68-77)Online publication date: 10-Oct-2011
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media