skip to main content
10.1145/567067.567085acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

Conversion of control dependence to data dependence

Published:24 January 1983Publication History

ABSTRACT

Program analysis methods, especially those which support automatic vectorization, are based on the concept of interstatement dependence where a dependence holds between two statements when one of the statements computes values needed by the other. Powerful program transformation systems that convert sequential programs to a form more suitable for vector or parallel machines have been developed using this concept [AllK 82, KKLW 80].The dependence analysis in these systems is based on data dependence. In the presence of complex control flow, data dependence is not sufficient to transform programs because of the introduction of control dependences. A control dependence exists between two statements when the execution of one statement can prevent the execution of the other. Control dependences do not fit conveniently into dependence-based program translators.One solution is to convert all control dependences to data dependences by eliminating goto statements and introducing logical variables to control the execution of statements in the program. In this scheme, action statements are converted to IF statements. The variables in the conditional expression of an IF statement can be viewed as inputs to the statement being controlled. The result is that control dependences between statements become explicit data dependences expressed through the definitions and uses of the controlling logical variables.This paper presents a method for systematically converting control dependences to data dependences in this fashion. The algorithms presented here have been implemented in PFC, an experimental vectorizer written at Rice University.

References

  1. {AllK 82} J. R. Allen and K., Kennedy, "PFC: a program to convert Fortran to parallel form," Report MASC TR 82-6, Department of Mathematical Sciences, Rice University, Houston, Texas, March, 1982.Google ScholarGoogle Scholar
  2. {AlKW 82} J. R. Allen, K. Kennedy, and J., Warren, "Simplification of Boolean formulas in PFC," Dept. Mathematical Sciences, Rice University, Houston, Texas, NovemberGoogle ScholarGoogle Scholar
  3. {ANSI 81} American National Standards Institute. Inc., "Proposals approved for Fortran 8x," X3J3/S6.80 (preliminary document), November 30, 1981.Google ScholarGoogle Scholar
  4. {Bane 76} U. Banerjee, "Data dependence in ordinary programs," Report 76-837, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois, November 1976.Google ScholarGoogle Scholar
  5. {BohJ 66} C. Bohm and G. Jacopini, "Flow diagrams, Turing machines, and languages with only two formation rules," Comm ACM 9, 5, May 1966. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. {Burr 77} Burroughs Corporations, "Implementation of FORTRAN," Burroughs Scientific Processor brochure, 1977.Google ScholarGoogle Scholar
  7. {GibK 81} C. Gibbons, and K. Kennedy, "Simplification of functions," Rice Technical Report 476-029-10, Rice University, January 1981.Google ScholarGoogle Scholar
  8. {Hare 80} D. Harel, "On folk theorems," Comm ACM 23, 5, July 1980, 379-389. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. {Kenn 80} K. Kennedy, "Automatic translation of Fortran programs to vector form," Rice Technical Report 476-029-4, Rice University, October 1980.Google ScholarGoogle Scholar
  10. {Kuck 77} D. J. Kuck, "A survey of parallel machine organization and programming," Computing Surveys 9, 1, March 1977, 29-59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. {KKLP 81} D. J. Kuck, R. H. Kuhn, B. Leasure, D. A. Padua, and M. Wolfe, "Compiler transformation of dependence graphs," Conf. Record of the Eighth ACM Symposium on Principles of Programming Languages, Williamsburg, Va., January 1981.Google ScholarGoogle Scholar
  12. {KKLW 80} D. J. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe, "The structure of an advanced vectorizer for pipelined processors," Proc. IEEE Computer Society Fourth International Computer Software and Applications Conf. IEEE, Chicago, October 1980.Google ScholarGoogle Scholar
  13. {McCl 56} E. J. McCluskey, "Minimization of Boolean functions," Bell System Tech. J. 35, 5, November 1956, 1417-1444.Google ScholarGoogle ScholarCross RefCross Ref
  14. {Quin 52} W. V. Quine, "The problem of simplifying truth functions," Am. Math. Monthly 59, 8, October 1952, 521-531.Google ScholarGoogle ScholarCross RefCross Ref
  15. {Towl 76} R. A. Towle, "Control and data dependence for program transformations," Ph.D. Dissertation, Report 76-788, Dept. of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois, March 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. {Wolf 78} M. J. Wolfe, "Techniques for improving the inherent parallelism in program," Report 78-929, Dept. of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois. July 1978.Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    POPL '83: Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
    January 1983
    312 pages
    ISBN:0897910907
    DOI:10.1145/567067

    Copyright © 1983 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 24 January 1983

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    POPL '83 Paper Acceptance Rate28of170submissions,16%Overall Acceptance Rate824of4,130submissions,20%

    Upcoming Conference

    POPL '25

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader