Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A linear algorithm for finding dominators in flow graphs and related problems
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
On finding lowest common ancestors: simplification and parallelization
SIAM Journal on Computing
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
Journal of Computer and System Sciences - Special issue: 31st IEEE conference on foundations of computer science, Oct. 22–24, 1990
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)
SIAM Journal on Computing
Path-based depth-first search for strong and biconnected components
Information Processing Letters
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modern Compiler Implementation: In ML
Modern Compiler Implementation: In ML
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Corrigendum: a new, simpler linear-time dominators algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dominator tree verification and vertex-disjoint paths
SODA '05 Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms
Prime normal form and equivalence of simple grammars
Theoretical Computer Science - Implementation and application of automata
Average case analysis of DJ graphs
Journal of Discrete Algorithms
A practical interprocedural dominance algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interference graphs for procedures in static single information form are interval graphs
SCOPES '07 Proceedingsof the 10th international workshop on Software & compilers for embedded systems
Computing SSA Form with Matrices
Electronic Notes in Theoretical Computer Science (ENTCS)
CEAL: a C-based language for self-adjusting computation
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Leveraging dominators for preprocessing QBF
Proceedings of the Conference on Design, Automation and Test in Europe
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
Approximating the smallest 2-vertex connected spanning subgraph of a directed graph
ESA'11 Proceedings of the 19th European conference on Algorithms
Space-Efficient Preprocessing Schemes for Range Minimum Queries on Static Arrays
SIAM Journal on Computing
The minimum spanning tree constraint
CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
Debugging with dominance: on-the-fly RTL debug solution implications
Proceedings of the International Conference on Computer-Aided Design
Prime normal form and equivalence of simple grammars
CIAA'05 Proceedings of the 10th international conference on Implementation and Application of Automata
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
An experimental study of dynamic dominators
ESA'12 Proceedings of the 20th Annual European conference on Algorithms
Finding dominators via disjoint set union
Journal of Discrete Algorithms
Hi-index | 0.00 |
The problem of finding dominators in a flowgraph arises in many kinds of global code optimization and other settings. In 1979 Lengauer and Tarjan gave an almost-linear-time algorithm to find dominators. In 1985 Harel claimed a linear-time algorithm, but this algorithm was incomplete; Alstrup et al. [1999] gave a complete and "simpler" linear-time algorithm on a random-access machine. In 1998, Buchsbaum et al. claimed a "new, simpler" linear-time algorithm with implementations both on a random access machine and on a pointer machine. In this paper, we begin by noting that the key lemma of Buchsbaum et al. does not in fact apply to their algorithm, and their algorithm does not run in linear time. Then we provide a complete, correct, simpler linear-time dominators algorithm. One key result is a linear-time reduction of the dominators problem to a nearest common ancestors problem, implementable on either a random-access machine or a pointer machine.