Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Interprocedural dependence analysis and parallelization

Published: 01 July 1986 Publication History

Abstract

We present a method that combines a deep analysis of program dependences with a broad analysis of the interaction among procedures. The method is more efficient than existing methods: we reduce many tests, performed separately by existing methods, to a single test. The method is more precise than existing methods with respect to references to multi-dimensional arrays and dependence information hidden by procedure calls. The method is more general than existing methods: we accommodate potentially aliased variables and structures of differing shapes that share storage. We accomplish the above through a unified approach that integrates subscript analysis with aliasing and interprocedural information.

References

[1]
John R. Allen, "Dependence Analysis for Subscript Variables and Its Application to Program Transformations", Rice Ph.D. Thesis, April 1983.
[2]
Utpal Banerjee, "Data Dependence in Ordinary Programs", M,S. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCDCS-R-76-837, November 1976.
[3]
Utpal Banerjee, "Speedup of Ordinary Programs", Ph.D. Thesis, University of Illinois at Urbana- Champaign, DCS Report No. UIUCDCS-R-79-989, October 1979.
[4]
John Banning, "An Efficient Way to Find the Side Effects of Procedure Calls and the Aliases of Variables", Conf. Rec. Seventh ACM Symposium on Principles of Programming Languages, January 1980.
[5]
Michael Burke, "An Interval Analysis Approach Toward Interprocedural Data Flow", IBM Research Report RC 10640, July 1984.
[6]
Michael Burke and Ron Cytron, "Interprocedural Dependence Analysis and Parallelization", IBM Research Report RCI 1794, April, 1986.
[7]
Keith Cooper, "Interprocedural Data Flow Analysis in a Programming Environment", Rice Ph.D. Thesis, April 1983.
[8]
Keith Cooper, "Analyzing Aliases of Reference Formal Parameters", Conf. Rec. Twelfth ACM Symposium on Principles of Programming Languages, 281-290, January 1985.
[9]
Keith Cooper and Ken Kennedy, "Efficient Computation of Flow Insensitive Interproeedurai Summary Information", Proceedings of the SIGPLAN 84 Symposiumon Compiler Construction, June 1984.
[10]
Ron Cytron, "Compile-time Scheduling and Optimization for Asynchronous Machines", Ph.D. Thesis, University of Illinois at Urbana- Champaign, August, 1982.
[11]
Christopher A. Huson, "An In-Line Subroutine Expander for Parafrase", M.S. Thesis, University of Illinois at Urbana-Champaign, 1982.
[12]
G. KildaU, "A Unified Approach to Program Optimization", Conf, Rec. First A CM Symposium on Principles of Programming Languages, 194-206, October 1973.
[13]
David J. Kuck, The Structure of Computers and Computations, Volume 1, John Wiley and Sons, New York, 1978.
[14]
Bruce R. Leasure, "Compiling Serial Languages for Parallel Machines", M.S. Thesis, University of Illinois at Urbana-Champaign, 1976.
[15]
J.H. Reif and H.R. Lewis, "Symbolic Evaluation and the Global Value Graph", Conf. Rec. Fourth ACM Symposium on Principles of Programming Languages, January 1977.
[16]
Robert Shostak, "Deciding Linear Inequalities by Computing Loop Residues", Journal of the Association for Computing Machinery, Vol. 28, No. 4, October 1981.
[17]
Remi J. Triolet, "Contribution a la Parellisation Automatique de Programmes Fortran Comportant des Appels de Procedure", Ph.D. Thesis, L'Universite Pierre et Marie Curie (Paris VI), December 1984.
[18]
Mark Wegman and Ken Zadeck, "Constant Propagation with Conditional Branches", Conf. Rec. Twelfth ACM Symposium on Principles of Programming Languages, 291-299, January 1985.
[19]
Michael J. Wolfe, "Optimizing Supercompilers for Supercomputers", Ph.D. Thesis, University of Illinois at Urbana-Champaign, 1982.

Cited By

View all
  • (2023)VeyMont: Parallelising Verified Programs Instead of Verifying Parallel ProgramsFormal Methods10.1007/978-3-031-27481-7_19(321-339)Online publication date: 3-Mar-2023
  • (2022)VICOProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532393(1-14)Online publication date: 28-Jun-2022
  • (2020)Using OpenMP to Detect and Speculate Dynamic DOALL LoopsOpenMP: Portable Multi-Level Parallelism on Modern Systems10.1007/978-3-030-58144-2_15(231-246)Online publication date: 22-Sep-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 21, Issue 7
July 1986
275 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/13310
Issue’s Table of Contents
  • cover image ACM Conferences
    SIGPLAN '86: Proceedings of the 1986 SIGPLAN symposium on Compiler construction
    July 1986
    275 pages
    ISBN:0897911970
    DOI:10.1145/12276

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 1986
Published in SIGPLAN Volume 21, Issue 7

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)78
  • Downloads (Last 6 weeks)11
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)VeyMont: Parallelising Verified Programs Instead of Verifying Parallel ProgramsFormal Methods10.1007/978-3-031-27481-7_19(321-339)Online publication date: 3-Mar-2023
  • (2022)VICOProceedings of the 36th ACM International Conference on Supercomputing10.1145/3524059.3532393(1-14)Online publication date: 28-Jun-2022
  • (2020)Using OpenMP to Detect and Speculate Dynamic DOALL LoopsOpenMP: Portable Multi-Level Parallelism on Modern Systems10.1007/978-3-030-58144-2_15(231-246)Online publication date: 22-Sep-2020
  • (2019)Automatic Parallelization of C Code Using OpenMPEmerging Technologies in Computer Engineering: Microservices in Big Data Analytics10.1007/978-981-13-8300-7_25(298-309)Online publication date: 18-May-2019
  • (2019)Finding Flaws from Password Authentication Code in Android AppsComputer Security – ESORICS 201910.1007/978-3-030-29959-0_30(619-637)Online publication date: 15-Sep-2019
  • (2016)Interprocedural Array Region AnalysesInternational Journal of Parallel Programming10.1007/BF0335675824:6(513-546)Online publication date: 26-May-2016
  • (2010)Synchronization via schedulingProceedings of the 2nd USENIX conference on Hot topics in parallelism10.5555/1863086.1863093(7-7)Online publication date: 14-Jun-2010
  • (2010)The Paralax infrastructureProceedings of the 19th international conference on Parallel architectures and compilation techniques10.1145/1854273.1854322(389-400)Online publication date: 11-Sep-2010
  • (2010)Speculative parallelization using state separation and multiple value predictionACM SIGPLAN Notices10.1145/1837855.180666345:8(63-72)Online publication date: 5-Jun-2010
  • (2010)Compiler aided selective lock assignment for improving the performance of software transactional memoryACM SIGPLAN Notices10.1145/1837853.169346045:5(37-46)Online publication date: 9-Jan-2010
  • 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