Skip to main content

Induction Variable Analysis without Idiom Recognition: Beyond Monotonicity

  • Conference paper
  • First Online:

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

Abstract

Traditional induction variable (IV) analyses focus on computing the closed form expressions of variables. This paper presents a new IV analysis based on a property called distance interval. This property captures the value changes of a variable along a given control-flow path of a program. Based on distance intervals, an efficient algorithm detects dependences for array accesses that involve induction variables. This paper describes how to compute distance intervals and how to compute closed form expressions and test dependences based on distance intervals.

This work is an extension of the previous induction variable analyses based on monotonic evolution [11]. With the same computational complexity, the new algorithm improves the monotonic evolution-based analysis in two aspects: more accurate dependence testing and the ability to compute closed form expressions.

The experimental results demonstrate that when dealing with induction variables, dependence tests based on distance intervals are both efficient and effective compared to closed-form based dependence tests.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Z. Ammarguellat and W.L. Harrison. Automatic recognition of induction & recurrence relations by abstract interpretation. In ACM Symp. on Programming Language Design and Implementation (PLDI’90), pages 283–295, Yorkton Heights, NY, June 1990.

    Google Scholar 

  2. W. Blume and R. Eigenmann. The range test: A dependence test for symbolic, non-linear expressions. In Supercomputing’94, pages 528–537, Washington D.C., November 1994. IEEE Computer Society Press.

    Google Scholar 

  3. W. Blume, R. Eigenmann, K. Faigin, J. Grout, J. Hoeflinger, D. Padua, P. Petersen, W. Pottenger, L. Rauchwerger, P. Tu, and S. Weatherford. Parallel programming with Polaris. IEEE Computer, 29(12): 78–82, December 1996.

    Google Scholar 

  4. A. Cohen, P. Wu, and D. Padua. Pointer analysis for monotonic container traversals. Technical Report CSRD 1586, University of Illinois at Urbana-Champaign, January 2001.

    Google Scholar 

  5. R. Cytron, J. Ferrante, B.K. Rosen, M.N. Wegman, and F.K. Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. on Programming Languages and Systems, 13(4): 451–490, October 1991.

    Article  Google Scholar 

  6. M.P. Gerlek, E. Stoltz, and M. Wolfe. Beyond induction variables: Detecting and classifying sequences using a demand-driven ssa form. ACM Trans. on Programming Languages and Systems, 17(1):85–122, January 1995.

    Article  Google Scholar 

  7. R. Gupta and M. Spezialetti. Loop monotonic computations: An approach for the efficient run-time detection of races. In ACM Symp. on Testing Analysis and Verification, pages 98–111, 1991.

    Google Scholar 

  8. M. Haghighat and C. Polychronopoulos. Symbolic analysis for parallelizing compilers. ACM Trans. on Programming Languages and Systems, 18(4):477–518, July 1996.

    Article  Google Scholar 

  9. Y. Lin and D. Padua. Compiler analysis of irregular memory accesses. In ACM Symp. on Programming Language Design and Implementation (PLDI’00), Vancouver, British Columbia, Canada, June 2000.

    Google Scholar 

  10. B. Pottenger and R. Eigenmann. Parallelization in the presence of generalized induction and reduction variables. In ACM Int. Conf. on Supercomputing (ICS’95), June 1995.

    Google Scholar 

  11. P. Wu, A. Cohen, D. Padua, and J. Hoeflinger. Monotonic evolution: An alternative to induction variable substitution for dependence analysis. In ACM Int. Conf. on Supercomputing, Sorrento, Italy, June 2001.

    Google Scholar 

  12. Peng Wu. Analyses of pointers, induction variables, and container objects for dependence testing. Technical Report UIUCDCS-R-2001-2209, University of Illinois at Urbana-Champaign, May 2001. Ph.D Thesis.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wu, P., Cohen, A., Padua, D. (2003). Induction Variable Analysis without Idiom Recognition: Beyond Monotonicity. In: Dietz, H.G. (eds) Languages and Compilers for Parallel Computing. LCPC 2001. Lecture Notes in Computer Science, vol 2624. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-35767-X_28

Download citation

  • DOI: https://doi.org/10.1007/3-540-35767-X_28

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-04029-3

  • Online ISBN: 978-3-540-35767-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics