Advertisement

Static Analysis of Gated Data Dependence Graphs

  • Charles Hymans
  • Eben Upton
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3148)

Abstract

Several authors have advocated the use of the gated data dependence graph as a compiler intermediate representation. If this representation is to gain acceptance, it is important to show that we may construct static analyses which operate directly on it. In this paper we present the first example of such an analysis, developed using the methodology of abstract interpretation. The analysis is shown to be sound with respect to a concrete semantics for the representation. Experimental results are presented which indicate that the analysis performs well in comparison to conventional techniques.

Keywords

Output Port Dependence Graph Abstract Interpretation Abstract Domain Soundness Condition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: Possibly not closed convex polyhedra and the parma polyhedra library. In: Proceedings of the 9th Static Analysis Symposium, pp. 213–229 (2002)Google Scholar
  2. 2.
    Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: Precise widening operators for convex polyhedra. In: Proceedings of the 10th Static Analysis Symposium, pp. 337–354 (2003)Google Scholar
  3. 3.
    Ballance, R.A., Maccabe, A.B., Ottenstein, K.J.: The program dependence web: A representation supporting control-, data-, and demand-driven interpretation of imperative languages. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 257–271 (1990)Google Scholar
  4. 4.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the 4th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 238–252 (1977)Google Scholar
  5. 5.
    Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Conference Record of the 5th Annual ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, pp. 84–97 (1978)Google Scholar
  6. 6.
    Johnson, N., Mycroft, A.: Combined code motion and register allocation using the value state dependence graph. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 1–16. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. 7.
    Kleene, S.C.: Introduction to Metamathematics. North-Holland, Amsterdam (1952)zbMATHGoogle Scholar
  8. 8.
    Kuck, D.J., Kuhn, R.H., Leasure, B., Padua, D.A., Wolfe, M.: Dependence graphs and compiler optimizations. In: Conference Record of the 8th ACM Symposium on Principles of Programming Languages, pp. 207–218 (1981)Google Scholar
  9. 9.
    Tu, P., Padua, D.A.: Efficient building and placing of gating functions. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 47–55 (1995)Google Scholar
  10. 10.
    Weise, D., Crew, R.F., Ernst, M., Steensgaard, B.: Value dependence graphs: Representation without taxation. In: Proceedings of the 21th ACM Symposium on Principles of Programming Languages, pp. 297–310 (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Charles Hymans
    • 1
  • Eben Upton
    • 2
  1. 1.STIXÉcole PolytechniquePalaiseauFrance
  2. 2.Computer LaboratoryUniversity of CambridgeCambridgeUK

Personalised recommendations