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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Interprocedural partial redundancy elimination and its application to distributed memory compilation
Recommendations
Interprocedural Partial Redundancy Elimination With Application to Distributed Memory Compilation
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 ...
Interprocedural partial redundancy elimination and its application to distributed memory compilation
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 ...
Link-Time Path-Sensitive Memory Redundancy Elimination
HPCA '04: Proceedings of the 10th International Symposium on High Performance Computer ArchitectureOptimizations performed at link-time or directly applied to final program executables have received increased attention in recent years. This paper discusses the discovery and elimination of redundant memory operations in the context of a link-time ...
Comments