Skip to main content
Log in

An introduction to a formal theory of dependence analysis

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Dependence analysis is a very important part of any vectorizing or concurrentizing compiler. This paper is an introduction to a formal theory of dependence analysis. The emphasis here is on rigor —the subject matter is not new. The program model is a Fortran do loop consisting of loops and assignment statements. We carefully explain the key dependence concepts and indicate through examples how the dependence tests work. These ideas and methods can be readily extended to more general programs.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Allen, J. R. 1983.Dependence Analysis for Subscripted Variables and Its Application to Program Transformations. Ph.D. Thesis, Dept. of Mathematical Sciences, Rice University, Houston, Texas. Also available as Document 83–14916 from University Microfilms, Ann Arbor, Mich.

    Google Scholar 

  • Allen, J. R., and Kennedy, K. 1987. Automatic translation of FORTRAN programs to vector form.ACM Trans. Programming Languages & Systems, 9(4): 491–542.

    Google Scholar 

  • Allen, J. R., Kennedy, K., Porterfield, C., and Warren, J. 1983. Conversion of control dependence to data dependence. In Conference Proceedings—The 10th Annual ACM Symposium on Principles of Programming Languages (Austin, Jan. 24–26), ACM Press, pp. 177–189.

  • Banerjee, U. 1976.Data Dependence in Ordinary Programs. M.S. Thesis, Report 76–837, Dept. of Computer Science, University of Illinois, Urbana.

    Google Scholar 

  • Banerjee, U. 1979.Speedup of Ordinary Programs. Ph.D. Thesis, Report 79–989, Dept. of Computer Science, University of Illinois, Urbana. Also available as Document 80–08967 from University Microfilms, Ann Arbor, Mich.

    Google Scholar 

  • Banerjee, U. 1988.Dependence Analysis for Supercomputing. Kluwer Academic Publishers, Boston.

    Google Scholar 

  • Banerjee, U., Chen, S. C., Kuck, D. J., and Towle, R. A. 1979. Time and parallel processor bounds for Fortran-like loops.IEEE Trans. Computers, C-28(9): 660–670.

    Google Scholar 

  • Burke, M., and Cytron, R. 1986. Interprocedural dependence analysis and parallelization. In Conference Proceedings—The SIGPLAN '86 Symposium on Compiler Construction (Palo Alto, June 25–27). Also available as SIGPLAN Notices, 21(7): 162–175.

  • Cohagan, W. L. 1973. Vector optimization for the ASC. In Conference Proceedings—The 7th Annual Princeton Conference on Information Sciences and Systems (Princeton, Mar. 22–23), Princeton University Press, Princeton, N.J., pp. 169–174.

    Google Scholar 

  • Kuck, D. J., Kuhn, R. H., Padua, D. A., Leasure, B. R., and Wolfe, M. J. 1981. Dependence graphs and compiler optimizations. In Conference Proceedings—The 8th ACM Symposium on Principles of Programming Languages (Williamsburg, Va., Jan. 26–28), ACM Press, pp. 207–218.

  • Kuhn, R. H. 1980.Optimization and Interconnection Complexity for:Parallel Processors, Single-Stage Networks, and Decision Trees. Ph.D. Thesis, Report 80–1009, Dept. of Computer Science, University of Illinois, Urbana. Also available as Document 80–26541 from University Microfilms, Ann Arbor, Mich.

    Google Scholar 

  • Padua, D. A., and Wolfe, M. J. 1986. Advanced compiler optimizations for supercomputers.Comm. ACM, 29 (12): 1184–1201.

    Google Scholar 

  • Towle, R. A. 1976.Control and Data Dependence for Program Transformations. Ph.D. Thesis, Report 76–788, Dept. of Computer Science, University of Illinois, Urbana.

    Google Scholar 

  • Wolfe, M. J. 1982.Optimizing Supercompilers for Supercomputers. Ph.D. Thesis, Report 82–1105, Dept. of Computer Science, University of Illinois, Urbana. Also available as Document 83–03027 from University Microfilms, Ann Arbor, Mich.

    Google Scholar 

  • Wolfe, M. J., and Banerjee, U. 1987. Data dependence and its application to parallel processing.Int. J. Parallel Programming, 16(2): 137–178.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Banerjee, U. An introduction to a formal theory of dependence analysis. J Supercomput 2, 133–149 (1988). https://doi.org/10.1007/BF00128174

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00128174

Keywords

Navigation