|
ABSTRACT
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 <u>v</u> the paths from r to <u>v</u> in T1 and T2 intersect only at the vertices that dominate <u>v</u>. 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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
F. E. Allen and J. Cocke. Graph theoretic constructs for program control flow analysis. Technical Report IBM Res. Rep. RC 3923, IBM T.J. Watson Research Center, 1972.
|
| |
3
|
|
| |
4
|
|
| |
5
|
A. L. Buchsbaum, L. Georgiadis, H. Kaplan, A. Rogers, R. E. Tarjan, and J. R. Westbrook. Linear-time pointer-machine algorithms for least common ancestors, mst verification, and dominators. In preparation.
|
 |
6
|
Adam L. Buchsbaum , Haim Kaplan , Anne Rogers , Jeffery R. Westbrook, Linear-time pointer-machine algorithms for least common ancestors, MST verification, and dominators, Proceedings of the thirtieth annual ACM symposium on Theory of computing, p.279-288, May 24-26, 1998, Dallas, Texas, United States
[doi> 10.1145/276698.276764]
|
 |
7
|
|
| |
8
|
K. D. Cooper, T. J. Harvey, and K. Kennedy. A simple, fast dominance algorithm. Available online at http://www.cs.rice.edu/~keith/EMBED/dom.pdf.
|
 |
9
|
|
| |
10
|
|
| |
11
|
H. N. Gabow and R. E. Tarjan. A linear-time algorithm for a special case of disjoint set union. Journal of Computer and System Sciences, 30(2):209--21, 1985.
|
| |
12
|
|
| |
13
|
L. Georgiadis, R. F. Werneck, R. E. Tarjan, S. Triantafyllis, and D. I. August. Finding dominators in practice. In 12th Annual European Symposium on Algorithms, pages 677--688, 2004.
|
 |
14
|
|
| |
15
|
V. King. A simpler minimum spanning tree verification algorithm. Algorithmica, 18:263--70, 1997.
|
 |
16
|
|
 |
17
|
|
| |
18
|
M. Sharir. Structural analysis: A new approach to flow analysis in optimizing compilers. volume 5, pages 141--153, 1980.
|
 |
19
|
|
| |
20
|
R. E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal on Computing, 1(2):146--59, 1972.
|
 |
21
|
|
| |
22
|
R. E. Tarjan. Edge-disjoint spanning trees and depth-first search. Acta Informatica, 6(2):171--85, 1976.
|
 |
23
|
|
 |
24
|
|
| |
25
|
R. W. Whitty. Vertex-disjoint paths and edge-disjoint branchings in directed graphs. Journal of Graph Theory, 11:349--358, 1987.
|
| |
26
|
A. Wirth. Manuscript, 2003.
|
|