Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
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
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Introduction to algorithms
Postorder disjoint set union is linear
SIAM Journal on Computing
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
SIAM Journal on Computing
Optimal control dependence computation and the Roman chariots problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modern compiler implementation in Java
Modern compiler implementation in Java
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
Applications of Path Compression on Balanced Trees
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)
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
An Overview of a Compiler for Scalable Parallel Machines
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Weighted rational transductions and their application to human language processing
HLT '94 Proceedings of the workshop on Human Language Technology
On loops, dominators, and dominance frontier
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
On loops, dominators, and dominance frontiers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Visualizing and Analyzing Software Infrastructures
IEEE Software
Range Searching Over Tree Cross Products
ESA '00 Proceedings of the 8th Annual European Symposium on Algorithms
Dominator Trees and Fast Verification of Proof Nets
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Finding dominators revisited: extended abstract
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
An Efficient Algorithm for Finding Double-Vertex Dominators in Circuit Graphs
Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Structural Testing Based on Minimum Kernels
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
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
A fast algorithm for finding common multiple-vertex dominators in circuit graphs
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
Fast verification of MLL proof nets via IMLL
ACM Transactions on Computational Logic (TOCL)
Computing SSA Form with Matrices
Electronic Notes in Theoretical Computer Science (ENTCS)
Dominator-tree analysis for distributed authorization
Proceedings of the third ACM SIGPLAN workshop on Programming languages and analysis for security
Structural Encoding of Static Single Assignment Form
Electronic Notes in Theoretical Computer Science (ENTCS)
Finding strong bridges and strong articulation points in linear time
COCOA'10 Proceedings of the 4th international conference on Combinatorial optimization and applications - Volume Part I
Revisiting the tree Constraint
CP'11 Proceedings of the 17th international conference on Principles and practice of constraint programming
RealTime-BestPoint-Based compiler optimization algorithm
APWeb'06 Proceedings of the 2006 international conference on Advanced Web and Network Technologies, and Applications
Gateway decompositions for constrained reachability problems
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
Finding strong bridges and strong articulation points in linear time
Theoretical Computer Science
Linear time algorithms for two disjoint paths problems on directed acyclic graphs
Theoretical Computer Science
Finding dominators via disjoint set union
Journal of Discrete Algorithms
Hi-index | 0.01 |
We present a new linear-time algorithm to find the immediate dominators of all vertices in a flowgraph. Our algorithm is simpler than previous linear-time algorithms: rather than employ complicated data structures, we combine the use of microtrees and memoization with new observations on a restricted class of path compressions. We have implemented our algorithm, and we report experimental results that show that the constant factors are low. Compared to the standard, slightly superlinear algorithm of Lengauer and Tarjan, which has much less overhead, our algorithm runs 10-20% slower on real flowgraphs of reasonable size and only a few percent slower on very large flowgraphs.