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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
Kleene, S.C.: Introduction to Metamathematics. North-Holland, Amsterdam (1952)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hymans, C., Upton, E. (2004). Static Analysis of Gated Data Dependence Graphs. In: Giacobazzi, R. (eds) Static Analysis. SAS 2004. Lecture Notes in Computer Science, vol 3148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27864-1_16
Download citation
DOI: https://doi.org/10.1007/978-3-540-27864-1_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22791-5
Online ISBN: 978-3-540-27864-1
eBook Packages: Springer Book Archive