Skip to main content

Demand-Driven Interprocedural Array Property Analysis

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1863))

Abstract

Many optimization techniques rely on the analysis of array subscripts. Current compilers often give up optimizations when arrays are subscripted by index arrays and treat the index arrays as unknown functions at compile-time. However, recent empirical studies of real programs have shown that index arrays often possess some properties that can be used to derive more precise information about the enclosing loops. In this paper, we present an index array analysis method, called array property analysis, which computes array properties by back-propagating queries along the control flow of the program. This method integrates the array data-flow analysis with interprocedural analysis and the demand-driven approach.

This work is supported in part by Army contract DABT63-95-C-0097; Army contract N66001-97-C-8532; NSF contract MIP-9619351; and a Partnership Award from IBM. This work is not necessarily representative of the positions or policies of the Army or Government.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Harold Abelson, Gerald Jay Sussman, and Julie Sussman. Structure and Interpretation of Computer Programs. The MIT Press, San Francisco, California, 1985.

    Google Scholar 

  2. Z. Ammarguellat and W. L. Harrison, III. Automatic recognition of induction variables and recurrence relations by abstract interpretation. In Proceedings of’ 90 PLDI, pages 283–295, June 1990.

    Google Scholar 

  3. V. Balasundaram and K. Kennedy. A technique for summarizing data access and its use in parallelism-enhancing transformations. In Proceedings of the Conference on Programming Language Design and Implementation, Portland, OR, June 1989.

    Google Scholar 

  4. W. Blume and R. Eigenmann. An overview of symbolic analysis techniques needed for the effective parallelization of the perfect benchmarks. In Proceedings of the 23rd International Conference on Parallel Processing. Volume 2: Software, pages 233–238, FL, USA, August 1994.

    Google Scholar 

  5. William Joseph Blume. Symbolic analysis techniques for effective automatic parallelization. PhD thesis, University of Illinois at Urbana-Champaign, June 1995.

    Google Scholar 

  6. David Callahan and Ken Kennedy. Compiling programs for distributed-memory multiprocessors. The Journal of Supercomputing, 2(2):151–169, October 1988.

    Google Scholar 

  7. Béatrice Creusillet and Francois Irigoin. Interprocedural array region analysis. In Eighth International Workshop on Languages and Compilers for Parallel Computing, pages 4-1 to 4-15. Ohio State Uni., August 1995.

    Google Scholar 

  8. Evelyn Duesterwald, Rajiv Gupta, and Mary Lou Soffa. A practical framework for demand-driven interprocedural data flow analysis. ACM Transactions on Programming Languages and Systems, 19(6):992–1030, November 1997.

    Google Scholar 

  9. P. Feautrier. Dataflow analysis of scalar and array references. International Journal of Parallel Programming, 20(1):23–52, February 1991.

    Google Scholar 

  10. T. Gross and P. Steenkiste. Structured dataflow analysis for arrays and its use in an optimizing compiler. Software Practice and Experience, 20(2):133–155, February 1990.

    Google Scholar 

  11. Junjie Gu, Zhiyuan Li, and Gyungho Lee. Symbolic array dataflow analysis for array privatization and program parallelization. In Proceedings of the 1995 Supercomputing Conference, December 3–8, 1995, San Diego, CA, USA, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lin, Y., Padua, D. (2000). Demand-Driven Interprocedural Array Property Analysis. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-44905-1_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67858-8

  • Online ISBN: 978-3-540-44905-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics