• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

DMCA

The program dependence graph and its use in optimization (1987)

Cached

  • Download as a PDF

Download Links

  • [www.cs.utexas.edu]
  • [www.cs.ucr.edu]
  • [www.eecs.umich.edu]
  • [www.eecs.umich.edu]
  • [www.cc.gatech.edu]
  • [cs.gmu.edu]
  • [www.cse.iitb.ac.in]
  • [bears.ece.ucsb.edu]
  • [cist.buct.edu.cn]
  • [www.cc.gatech.edu]
  • [cs.gmu.edu]
  • [www.cse.iitb.ac.in]
  • [web.eecs.umich.edu]
  • [www.cs.odu.edu]

  • Other Repositories/Bibliography

  • DBLP
  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Jeanne Ferrante , Karl J. Ottenstein , Joe D. Warren
Venue:ACM Transactions on Programming Languages and Systems
Citations:995 - 3 self
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@ARTICLE{Ferrante87theprogram,
    author = {Jeanne Ferrante and Karl J. Ottenstein and Joe D. Warren},
    title = {The program dependence graph and its use in optimization},
    journal = {ACM Transactions on Programming Languages and Systems},
    year = {1987},
    volume = {9},
    pages = {319--349}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

In this paper we present an intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependence5 for each operation in a program. Data dependences have been used to represent only the relevant data flow relationships of a program. Control dependence5 are introduced to analogously represent only the essential control flow relationships of a program. Control dependences are derived from the usual control flow graph. Many traditional optimizations operate more efficiently on the PDG. Since dependences in the PDG connect computationally related parts of the program, a single walk of these dependences is sufficient to perform many optimizations. The PDG allows transformations such as vectorization, that previ-ously required special treatment of control dependence, to be performed in a manner that is uniform for both control and data dependences. Program transformations that require interaction of the two dependence types can also be easily handled with our representation. As an example, an incremental approach to modifying data dependences resulting from branch deletion or loop unrolling is intro-duced. The PDG supports incremental optimization, permitting transformations to be triggered by one another and applied only to affected dependences.

Keyphrases

program dependence graph    data dependence    control dependence    control dependence5    dependence type    related part    branch deletion    incremental approach    required special treatment    loop unrolling    many optimization    relevant data flow relationship    pdg connect    intermediate program representation    affected dependence    program transformation    essential control flow relationship    many traditional optimization    single walk    usual control flow graph    incremental optimization   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University