Abstract
We introduce a new framework for elimination-based data flow analysis. We present a simple algorithm and a delayed algorithm that exhibit a worst-case complexity of \({\mathcal O}(n^2)\) and \(\tilde{{\mathcal O}}(m)\). The algorithms use a new compact data structure for representing reducible flow graphs called Annotated Decomposition Trees. This data structure extends a binary tree to represent flowgraph information, dominance relation of flowgraphs, and the topological order of nodes. The construction of the annotated decomposition trees runs in \({\mathcal O}(n + m)\). Experiments were conducted with reducible flowgraphs of the SPEC2000 benchmark suite.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Allen, F.E., Cocke, J.: A program data flow analysis procedure. Comm. ACM 19(3), 137–147 (1976)
Bender, M.A., Farach-Colton, M.: The lca problem revisited. In: Gonnet, G.H., Viola, A. (eds.) LATIN 2000. LNCS, vol. 1776, pp. 88–94. Springer, Heidelberg (2000)
Blieberger, J.: Data-flow frameworks for worst-case execution time analysis. Real-Time Syst. 22(3), 183–227 (2002)
Bodik, R., Gupta, R., Soffa, M.L.: Complete removal of redundant computations. In: Proc. of PLDI, pp. 1–14 (1998), citeseer.ist.psu.edu/bodik98complete.html
Fahringer, T., Scholz, B.: A Unified Symbolic Evaluation Framework for Parallelizing Compilers. IEEE TPDS 11(11) (2000)
Graham, S.L., Wegman, M.: Fast and usually linear algorithm for global flow analysis. J. ACM 23(1), 172–202 (1976)
Harel, D., Tarjan, R.E.: Fast algorithms for finding nearest common ancestors. Siam J. Comput. 13(2), 338–355 (1984)
Hecht, M.S.: Flow Analysis of Computer Programs, 1st edn. Elsevier North-Holland, New York (1977)
Hecht, M.S., Ullman, J.D.: A simple algorithm for global data flow analysis problems. SIAM J. Comput. 4(4), 519–532 (1977)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computation, 2nd edn. SIGACT News 32(1), 60–65 (2001), doi:10.1145/568438.568455
Joshi, R., et al.: Some interesting results about applications of graphs in compilers. CSI J. 31(4) (2002)
Kildall, G.A.: A unified approach to global program optimization. In: Proc. of Symposium on Principles of Programming Languages, pp. 194–206. ACM Press, New York (1973)
Knuth, D.E.: Fundamental Algorithms, 3rd edn. The Art of Computer Programming, vol. 1. Addison-Wesley, Reading (1997)
Lengauer, T., Tarjan, R.E.: A fast algorithm for finding dominators in a flowgraph. ACM Trans. Program. Lang. Syst. 1(1), 121–141 (1979), doi:10.1145/357062.357071
Scholz, B., Mehofer, E.: A Novel Probabilistic Data Flow Framework. In: Wilhelm, R. (ed.) CC 2001 and ETAPS 2001. LNCS, vol. 2027, pp. 37–51. Springer, Heidelberg (2001)
Paull, M.C.: Algorithm design: a recursion transformation framework. Wiley-Interscience, New York (1988)
Ramalingam, G.: Data flow frequency analysis. In: Proc. of PLDI, Philadelphia, Pennsylvania, United States, pp. 267–277. ACM Press, New York (1996), doi:10.1145/231379.231433
Robschink, T., Snelting, G.: Efficient path conditions in dependence graphs. In: Proc. of ICSE ’02, Orlando, Florida, pp. 478–488. ACM Press, New York (2002), doi:10.1145/581339.581398
Ryder, B.G., Paull, M.C.: Elimination algorithms for data flow analysis. ACM Computing Surveys 18(3), 277–315 (1986)
Sharir, M.: Structural analysis: A new approach to flow analysis in optimizing compilers. Computer Languages 5, 141–153 (1980)
Sreedhar, V.C., Gao, G.R., Lee, Y.-F.: A new framework for elimination-based data flow analysis using DJ graphs. ACM TOPLAS 20(2), 388–435 (1998)
Tarjan, R.: Applications of path compression on balanced trees. J. of the ACM 26(4), 690–715 (1979)
Tarjan, R.E.: Fast algorithms for solving path problems. J. ACM 28(3), 594–614 (1981)
Tarjan, R.E.: A unified approach to path programs. J. ACM. 28(3), 577–593 (1981)
Vernet, O., Markenzon, L.: Maximal reducible flowgraphs. Technical Report RT029/DE9, D. de Engenharia de Sistemas, Instituto Militar de Engenharia, Rio de Janeiro, Brasil (1998)
Vernet, O., Markenzon, L.: Solving problems for maximal reducible flowgraphs. Disc. Appl. Math. 136, 341–348 (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Scholz, B., Blieberger, J. (2007). A New Elimination-Based Data Flow Analysis Framework Using Annotated Decomposition Trees. In: Krishnamurthi, S., Odersky, M. (eds) Compiler Construction. CC 2007. Lecture Notes in Computer Science, vol 4420. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71229-9_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-71229-9_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71228-2
Online ISBN: 978-3-540-71229-9
eBook Packages: Computer ScienceComputer Science (R0)