Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/512927.512946acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Analysis of a simple algorithm for global data flow problems

Published: 01 October 1973 Publication History

Abstract

There is an ordering of the nodes of a flow graph G which topologically sorts the dominance relation and can be found in 0(edges) steps. This ordering is the reverse of the order in which a node is last visited while growing any depth-first spanning tree of G. Moreover, if G is reducible, then this ordering topologically sorts the "dag" of G. Thus, for a reducible flow graph (rfg) there is a simple algorithm to compute the dominators of each node in 0(edges) bit vector steps.The main result of this paper relates two parameters of an rfg. If G is reducible, d is the largest number of back edges found in any cycle-free path in G, and k is the length of the interval derived sequence of G, then k≥d. From this result it follows that there is a very simple bit propagation algorithm (indeed, the obvious one) which also uses the above ordering, and is at least as good as the interval algorithm for solving all known global data flow problems such as "available expressions" and "live variables."

References

[1]
{AHU} A. V. Aho, J. E. Hopcroft and J. D. Ullman, "On Finding Lowest Common Ancestors in Trees," Proc. 5th Annual ACM Symposium on Theory of Computing, Austin, Texas, pp. 253-265, May 1973.]]
[2]
{AU} A. V. Aho and J. D. Ullman, The Theory of Parsing, Translation and Compiling: Vol. II - Compiling, Prentice Hall, Englewood Cliffs, N.J., 1973.]]
[3]
{A1} F. E. Allen, "Program Optimization," Annual Review Automatic Programming, Vol. 5, Pergamon Press, New York, 1969.]]
[4]
{A2} F. E. Allen, "Control Flow Analysis," SIGPLAN Notices, Vol. 5, No. 7, pp. 1-19, July 1970.]]
[5]
{A3} F. E. Allen, "A Basis for Program Optimization," Proc. IFIP Conf. 71, North Holland Publishing Co., Amsterdam, 1971.]]
[6]
{AC} F. E. Allen and J. Cocke, "Graph-Theoretic Constructs for Program Control Flow Analysis," IBM Research Report RC 3923, T.J. Watson Research Center, Yorktown Heights, N.Y., July 1972.]]
[7]
{C} J. Cocke, "Global Common Subexpression Elimination," SIGPLAN Notices, Vol. 5, No. 7, pp. 20-24, July 1970.]]
[8]
{EBA} C. P. Earnest, K. G. Balke, and J. Anderson, "Analysis of Graphs by Ordering of Nodes," JACM, Vol. 19, No. 1, pp. 23-42, Jan. 1972.]]
[9]
{HeU1} M. S. Hecht and J. D. Ullman, "Flow Graph Reducibility," SIAM J. Computing, Vol. 1, No. 2, pp. 188-202, June 1972.]]
[10]
{HeU2} M. S. Hecht and J. D. Ullman, "Characterizations of Reducible Flow Graphs," TR-118, Computer Science Laboratory, Electrical Eng. Dept., Princeton Univ., Jan. 1973.]]
[11]
{HoU} J. E. Hopcroft and J. D. Ullman, "An n log n Algorithm for Detecting Reducible Graphs," Proc. 6th Annual Princeton Conf. on Information Sciences and Systems, pp. 119-122, March 1972.]]
[12]
{Ke} K. Kennedy, "A Global Flow Analysis Algorithm," International J. Computer Math., Vol. 3, pp. 5-15, Dec. 1971.]]
[13]
{Ki} G. A. Kildall, "Global Expression Optimization at Compile Time," in this proceedings, Oct. 1973.]]
[14]
{LM} E. S. Lowry and C. W. Medlock, "Object Code Optimization," CACM, Vol. 12, No. 1, pp. 13-22, Jan. 1969.]]
[15]
{P} R. T. Prosser, "Applications of Boolean Matrices to the Analysis of Flow Diagrams," Proc. Eastern Joint Computer Conf., Spartan Books, New York, pp. 133-138, Dec. 1959.]]
[16]
{PM} P. W. Purdom and E. F. Moore, "Immediate Predominators in a Directed Graph," CACM, Vol. 15, No. 8, pp. 777-778, August 1972.]]
[17]
{S} M. Schaefer, A Mathematical Theory of Global Flow Analysis, to appear, Prentice Hall, Englewood Cliffs, N.J., 1973.]]
[18]
{T1} R. E. Tarjan, "Depth-First Search and Linear Graph Algorithms," SIAM J. Computing, Vol. 1, No. 2, pp. 146-160, June 1972.]]
[19]
{T2} R. E. Tarjan, "Finding Dominators in Directed Graphs," to appear in Proc. 7th Annual Princeton Conf. on Information Sciences and Systems, March 1973.]]
[20]
{T3} R. E. Tarjan, "Testing Flow Graph Reducibility," Proc. 5th Annual ACM Symposium on Theory of Computing, Austin, Texas, pp. 96-107, May 1973.]]
[21]
{U1} J. D. Ullman, "Fast Algorithms for the Elimination of Common Subexpressions," TR-106, Computer Science Laboratory, Dept. of Electrical Eng., Princeton Univ., March 1972.]]
[22]
{U2} J. D. Ullman, "A Fast Algorithm for the Elimination of Common Subexpressions," Proc. 13th Symposium on Switching and Automata Theory, pp. 161-176, Oct. 1972.]]
[23]
{V} V. A. Vyssotsky, private communication of June 7, 1973.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '73: Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
October 1973
242 pages
ISBN:9781450373494
DOI:10.1145/512927
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1973

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. available expressions
  2. code optimization
  3. depth-first spanning tree
  4. dominance
  5. flow graph
  6. global data flow analysis
  7. interval analysis
  8. live variables
  9. reducibility

Qualifiers

  • Article

Acceptance Rates

POPL '73 Paper Acceptance Rate 22 of 100 submissions, 22%;
Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)93
  • Downloads (Last 6 weeks)13
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Top-Down Solver Verified: Building Confidence in Static AnalyzersComputer Aided Verification10.1007/978-3-031-65627-9_15(303-324)Online publication date: 24-Jul-2024
  • (2021)On Time-sensitive Control DependenciesACM Transactions on Programming Languages and Systems10.1145/348600344:1(1-37)Online publication date: 9-Dec-2021
  • (2021)Algebraic Program AnalysisComputer Aided Verification10.1007/978-3-030-81685-8_3(46-83)Online publication date: 15-Jul-2021
  • (2021)Propagating Information Using SSASSA-based Compiler Design10.1007/978-3-030-80515-9_8(95-106)Online publication date: 12-Jun-2021
  • (2018)Analysis of preemption costs for the stack cacheReal-Time Systems10.1007/s11241-018-9298-754:3(700-744)Online publication date: 1-Jul-2018
  • (2017)Incremental whole program optimization and compilationProceedings of the 2017 International Symposium on Code Generation and Optimization10.5555/3049832.3049857(221-232)Online publication date: 4-Feb-2017
  • (2017)Incremental whole program optimization and compilation2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO.2017.7863742(221-232)Online publication date: Feb-2017
  • (2017)Typing and Characterization of Bacteria Using Bottom-up Tandem Mass Spectrometry ProteomicsMolecular & Cellular Proteomics10.1074/mcp.M116.06172116:6(1052-1063)Online publication date: 18-Apr-2017
  • (2017)Formalizing Structured Control Flow GraphsLanguages and Compilers for Parallel Computing10.1007/978-3-319-52709-3_13(153-168)Online publication date: 24-Jan-2017
  • (2015)May-Happen-in-Parallel Analysis for Actor-Based ConcurrencyACM Transactions on Computational Logic10.1145/282425517:2(1-39)Online publication date: 22-Dec-2015
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media