Analysis of Graphs by Ordering of Nodes
Journal of the ACM (JACM)
Immediate predominators in a directed graph [H]
Communications of the ACM
Communications of the ACM
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Testing flow graph reducibility
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
On finding lowest common ancestors in trees
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Proceedings of a symposium on Compiler optimization
Global common subexpression elimination
Proceedings of a symposium on Compiler optimization
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Optimal code motion: theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
Global Data Flow Analysis and Iterative Algorithms
Journal of the ACM (JACM)
A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
On Live-Dead Analysis for Global Data Flow Problems
Journal of the ACM (JACM)
A program data flow analysis procedure
Communications of the ACM
A general scheme for the automatic inference of variable types
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Applications of a graph grammar for program control flow analysis
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic evaluation and the global value graph
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An interprocedural data flow analysis algorithm
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Application of lattice algebra to loop optimization
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Node listings applied to data flow analysis
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A fast and usually linear algorithm for global flow analysis
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An interactive program advising system
SIGCSE '76 Proceedings of the ACM SIGCSE-SIGCUE technical symposium on Computer science and education
Node listings for reducible flow graphs
STOC '75 Proceedings of seventh annual ACM symposium on Theory of computing
Flow graph analysis using linear connected regions
ACM '76 Proceedings of the 1976 annual conference
Semantic attributes and improvement of generated code
ACM '74 Proceedings of the 1974 annual conference - Volume 1
Securing web application code by static analysis and runtime protection
Proceedings of the 13th international conference on World Wide Web
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Global data flow analysis in Aldes
ACM SIGSAM Bulletin
Static data-flow analysis of synchronous programs
MEMOCODE'09 Proceedings of the 7th IEEE/ACM international conference on Formal Methods and Models for Codesign
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
SMT-based optimization for synchronous programs
Proceedings of the 14th International Workshop on Software and Compilers for Embedded Systems
Efficient flow-sensitive interprocedural data-flow analysis in the presence of pointers
CC'06 Proceedings of the 15th international conference on Compiler Construction
A non-iterative data-flow algorithm for computing liveness sets in strict SSA programs
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Use-definition chains with applications
Computer Languages
Generation of node lists using segment analysis
Computer Languages
Language design and analyzability: a retrospective
Software—Practice & Experience
Passive code in synchronous programs
ACM Transactions on Embedded Computing Systems (TECS) - Special Section ESFH'12, ESTIMedia'11 and Regular Papers
Hi-index | 0.02 |
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."