Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dominator-path scheduling: a global scheduling method
MICRO 25 Proceedings of the 25th annual international symposium on Microarchitecture
Verification and sensitivity analysis of minimum spanning trees in linear time
SIAM Journal on Computing
An incremental algorithm for maintaining the dominator tree of a reducible flowgraph
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A randomized linear-time algorithm to find minimum spanning trees
Journal of the ACM (JACM)
Linear-time pointer-machine algorithms for least common ancestors, MST verification, and dominators
STOC '98 Proceedings of the thirtieth annual ACM symposium on Theory of computing
A new, simpler linear-time dominators algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Applications of Path Compression on Balanced Trees
Journal of the ACM (JACM)
Fast Algorithms for Solving Path Problems
Journal of the ACM (JACM)
SIAM Journal on Computing
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Testing flow graph reducibility
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Fault Equivalence Identification Using Redundancy Information and Static and Dynamic Extraction
VTS '01 Proceedings of the 19th IEEE VLSI Test Symposium
Finding dominators revisited: extended abstract
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Testing 2-vertex connectivity and computing pairs of vertex-disjoint s-t paths in digraphs
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming
Join-reachability problems in directed graphs
CSR'11 Proceedings of the 6th international conference on Computer science: theory and applications
Approximating the smallest 2-vertex connected spanning subgraph of a directed graph
ESA'11 Proceedings of the 19th European conference on Algorithms
Dominators, directed bipolar orders, and independent spanning trees
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part I
Linear time algorithms for two disjoint paths problems on directed acyclic graphs
Theoretical Computer Science
An experimental study of dynamic dominators
ESA'12 Proceedings of the 20th Annual European conference on Algorithms
Mechanized verification of computing dominators for formalizing compilers
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Finding dominators via disjoint set union
Journal of Discrete Algorithms
Hi-index | 0.01 |
We present a linear-time algorithm that given a flowgraph G = (V,A,r) and a tree T, checks whether T is the dominator tree of G. Also we prove that there exist two spanning trees of G, T1 and T2, such that for any vertex v the paths from r to v in T1 and T2 intersect only at the vertices that dominate v. The proof is constructive and our algorithm can build the two spanning trees in linear time. Simpler versions of our two algorithms run in O(mα(m, n))-time, where n is the number of vertices and m is the number of arcs in G. The existence of such two spanning trees implies that we can order the calculations of the iterative algorithm for finding dominators, proposed by Allen and Cocke [2], so that it builds the dominator tree in a single iteration.