[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Fast algorithms for the elimination of common subexpressions

Published: 01 September 1973 Publication History

Abstract

We give two algorithms for computing the set of available expressions at entrance to the nodes of a flow graph. The first takes O(mn) isteps on a program flow graph (one in which no node has more than two successors), where n is the number of nodes and m the number of expressions which are ever computed. A modified version of this algorithm requires O(n 2) steps of an extended type, where bit vector operations are regarded as one step. We present another algorithm which works only for reducible flow graphs. It requires O(n log n) extended steps.

References

[1]
Aho, A. V., Ullman, J. D.: The theory of parsing, translation, and compiling, Vol. II -- Compiling. Englewood Cliffs (N.J.): Prentice Hall 1973
[2]
Allen, F. E.: Program optimization. Annl. Rev. Automatic Prog. 5, 239---307 (1969)
[3]
Allen, F. E.: Control flow analysis. SIGPLAN Notices 5, 1---19 (1970)
[4]
Allen, F. E.: A Basis for Program Optimization, Proc. IFIP Conf. 71, Amsterdam: North Holland 1972, pp. 385---390.
[5]
Cocke, J., Schwartz, J. T.: Programming languages and their compilers. New York (N.Y.): Courant Inst. of Mathematical Sciences 1970
[6]
Schaefer, M.: A mathematical theory of global flow analysis. System Development Corp., Santa Monica (Cal.) 1971. To be published by Prentice-Hall 1973
[7]
Kennedy, K.: A global flow analysis algorithm. Internatl. J. Computer Math. 3, 5---15 (1971)
[8]
Cook, S. A.: Linear time simulation of two-way pushdown automata. Proc. IFIP Conf. 71, Amsterdam: North-Holland 1971, pp. 75---80
[9]
Cocke, J.: Global common subexpression elimination. SIGPLAN Notices 5, 20---24 (1970)
[10]
Allen, F. E., Cocke, J.: Graph theoretic constructs for program control flow analysis. IBM Research Lab., Yorktown Hts. (N.Y.), Report RC-3923, July 1972
[11]
Hecht, M. S., Ullman, J. D.: Analysis of a simple algorithm for global data flow problems, to appear in Proc. of ACM Symposium on Principles of Programming Languages, Oct., 1973
[12]
Cocke, J., Miller, R. E.: Some analysis techniques for optimizing computer programs. Proc. 2nd Intl. Conf. on System Sciences, U. of Hawaii, Honolulu, Hawaii, 1969
[13]
Hopcroft, J. E., Ullman, J. D.: An n log n algorithm for reduction of flow graphs. 6th Annl. Princeton Conf. on Inf. Sc. and Systems, March 1972, pp. 119---122
[14]
Tarjan, R. E.: Testing flow graph reductability. Proc. 5th ACM Symposium on Theory of Computing, pp. 96---107, May 1973
[15]
Engeler, E.: Structure and meaning of elementary programs. In: E. Engeler (ed.): Symposium on Semantics of Algorithmic Languages, Springer Lecture Notes 188. Berlin: Springer 1971, pp. 89---101
[16]
Kildall, G. A.: Global expression optimization during compilations. Univ. of Washington, Computer Science Dept., TR 12/06-02, June 1972. To appear in ACM Symposium on Principles of Programming languages, Oct. 1973

Cited By

View all
  • (2024) ARCTURUS: Full Coverage Binary Similarity Analysis with Reachability-guided EmulationACM Transactions on Software Engineering and Methodology10.1145/364033733:4(1-31)Online publication date: 11-Jan-2024
  • (2017)Newtonian Program Analysis via Tensor ProductACM Transactions on Programming Languages and Systems10.1145/302408439:2(1-72)Online publication date: 21-Mar-2017
  • (2016)Newtonian program analysis via tensor productACM SIGPLAN Notices10.1145/2914770.283765951:1(663-677)Online publication date: 11-Jan-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Acta Informatica
Acta Informatica  Volume 2, Issue 3
September 1973
92 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 September 1973

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024) ARCTURUS: Full Coverage Binary Similarity Analysis with Reachability-guided EmulationACM Transactions on Software Engineering and Methodology10.1145/364033733:4(1-31)Online publication date: 11-Jan-2024
  • (2017)Newtonian Program Analysis via Tensor ProductACM Transactions on Programming Languages and Systems10.1145/302408439:2(1-72)Online publication date: 21-Mar-2017
  • (2016)Newtonian program analysis via tensor productACM SIGPLAN Notices10.1145/2914770.283765951:1(663-677)Online publication date: 11-Jan-2016
  • (2016)Newtonian program analysis via tensor productProceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2837614.2837659(663-677)Online publication date: 11-Jan-2016
  • (2016)Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesundefinedOnline publication date: 11-Jan-2016
  • (2005)Interprocedural parallelization analysis in SUIFACM Transactions on Programming Languages and Systems10.1145/1075382.107538527:4(662-731)Online publication date: 1-Jul-2005
  • (2003)Engineering a CompilerundefinedOnline publication date: 11-Dec-2003
  • (2002)On sparse evaluation representationsTheoretical Computer Science10.1016/S0304-3975(00)00315-7277:1-2(119-147)Online publication date: 28-Apr-2002
  • (1998)A new framework for elimination-based data flow analysis using DJ graphsACM Transactions on Programming Languages and Systems10.1145/276393.27852320:2(388-435)Online publication date: 1-Mar-1998
  • (1998)Optimal interprocedural program optimizationundefinedOnline publication date: 1-Jan-1998
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media