Results 1 
8 of
8
A fast algorithm for finding dominators in a flowgraph
 ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
, 1979
"... A fast algoritbm for finding dominators in a flowgraph is presented. The algorithm uses depthfirst search and an efficient method of computing functions defined on paths in trees. A simple implementation of the algorithm runs in O(m log n) time, where m is the number of edges and n is the number o ..."
Abstract

Cited by 184 (5 self)
 Add to MetaCart
A fast algoritbm for finding dominators in a flowgraph is presented. The algorithm uses depthfirst search and an efficient method of computing functions defined on paths in trees. A simple implementation of the algorithm runs in O(m log n) time, where m is the number of edges and n is the number of vertices in the problem graph. A more sophisticated implementation runs in O(ma(m, n)) time, where a(m, n) is a functional inverse of Ackermann's function. Both versions of the algorithm were implemented in Algol W, a Stanford University version of Algol, and tested on an IBM 370/168. The programs were compared with an implementation by Purdom and Moore of a straightforward O(mn)time algorithm, and with ~a bit vector algorithm described by Aho and Ullman. The fast algorithm beat the straightforward algorithm and the bit vector algorithm on all but the smallest graphs tested.
LinearTime PointerMachine Algorithms for Least Common Ancestors, MST Verification, and Dominators
 IN PROCEEDINGS OF THE THIRTIETH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING
, 1998
"... We present two new data structure toolsdisjoint set union with bottomup linking, and pointerbased radix sortand combine them with bottomlevel microtrees to devise the first lineartime pointermachine algorithms for offline least common ancestors, minimum spanning tree (MST) verification, ..."
Abstract

Cited by 29 (4 self)
 Add to MetaCart
(Show Context)
We present two new data structure toolsdisjoint set union with bottomup linking, and pointerbased radix sortand combine them with bottomlevel microtrees to devise the first lineartime pointermachine algorithms for offline least common ancestors, minimum spanning tree (MST) verification, randomized MST construction, and computing dominators in a flowgraph.
A New, Simpler LinearTime Dominators Algorithm
 ACM Transactions on Programming Languages and Systems
, 1998
"... this article is organized as follows. Section 2 outlines Lengauer and Tarjan's approach. Section 3 gives a broad overview of our algorithm and dierentiates it from previous work. Section 4 presents our algorithm in detail, and Section 5 analyzes its running time. Section 6 presents our new path ..."
Abstract

Cited by 28 (5 self)
 Add to MetaCart
(Show Context)
this article is organized as follows. Section 2 outlines Lengauer and Tarjan's approach. Section 3 gives a broad overview of our algorithm and dierentiates it from previous work. Section 4 presents our algorithm in detail, and Section 5 analyzes its running time. Section 6 presents our new pathcompression result, on which the analysis relies. Section 7 describes our implementation, and Section 8 reports experimental results. We conclude in Section 9
Finding dominators in practice
 In Proceedings of the 12th Annual European Symposium on Algorithms, volume 3221 of Lecture Notes in Computer Science
, 2004
"... Abstract. The computation of dominators in a flowgraph has applications in program optimization, circuit testing, and other areas. Lengauer and Tarjan [17] proposed two versions of a fast algorithm for finding dominators and compared them experimentally with an iterative bit vector algorithm. They c ..."
Abstract

Cited by 17 (8 self)
 Add to MetaCart
(Show Context)
Abstract. The computation of dominators in a flowgraph has applications in program optimization, circuit testing, and other areas. Lengauer and Tarjan [17] proposed two versions of a fast algorithm for finding dominators and compared them experimentally with an iterative bit vector algorithm. They concluded that both versions of their algorithm were much faster than the bitvector algorithm even on graphs of moderate size. Recently Cooper et al. [9] have proposed a new, simple, treebased iterative algorithm. Their experiments suggested that it was faster than the simple version of the LengauerTarjan algorithm on graphs representing computer program control flow. Motivated by the work of Cooper et al., we present an experimental study comparing their algorithm (and some variants) with careful implementations of both versions of the LengauerTarjan algorithm and with a new hybrid algorithm. Our results suggest that, although the performance of all the algorithms is similar, the most consistently fast are the simple LengauerTarjan algorithm and the hybrid algorithm, and their advantage increases as the graph gets bigger or more complicated. 1
DJgraphs and their application to flow graph analyses
, 1994
"... In this paper we elaborate on the properties of DJgraphs  a new program representation recently introduced for flowgraph analysis [SG94]. We present three applications of DJgraphs for flowgraph analysis and the main contributions of this paper are as follows. ffl We design a simple algorithm f ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
In this paper we elaborate on the properties of DJgraphs  a new program representation recently introduced for flowgraph analysis [SG94]. We present three applications of DJgraphs for flowgraph analysis and the main contributions of this paper are as follows. ffl We design a simple algorithm for computing multiplenode immediate dominators that has a better (polynomialtime) worstcase time complexity than the existing algorithm [Gup92]. We show how DJgraphs can be used to reduce the search space when computing multiplenode immediate dominators. ffl We show how to identify loops, both reducible and irreducible, in a flowgraph using its DJgraph by extending Tarjan's approach. The advantage of our method is being able to identify the bodies of arbitrarily nested (reducible and irreducible) loops, with the only restriction that a sequence of consecutively nested irreducible loops will be identified as a single irreducible loop (region). ffl We present a simple algorithm to comp...
BytecodeLevel Analysis And Optimization Of Java Classes
, 1998
"... ....................................... x 1 INTRODUCTION . . . . . . ........................... 1 1.1 Optimization framework ........................... 1 1.2 Measurements................................. 2 1.3 Overview ................................... 2 2 BACKGROUND ....................... ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
....................................... x 1 INTRODUCTION . . . . . . ........................... 1 1.1 Optimization framework ........................... 1 1.2 Measurements................................. 2 1.3 Overview ................................... 2 2 BACKGROUND .................................. 3 2.1 Controlflowgraphs.............................. 3 2.1.1 Dominators . . . ........................... 3 2.1.2 Loops . . . . . . ........................... 4 2.2 Staticsingleassignmentform......................... 6 2.2.1 Construction . . ........................... 7 2.2.2 Destruction . . . ........................... 11 2.3 Partial redundancy elimination . . . . .................... 12 2.3.1 SSAPRE . . . . ........................... 12 2.4 Other optimizations . . . ........................... 14 2.5 Typebasedaliasanalysis........................... 15 2.5.1 Terminology and notation . . .................... 16 v Page 2.5.2 TBAA . . . . . . ........................
Dominators in Directed Graphs: A Survey of Recent Results, Applications, and Open Problems
"... Abstract—The computation of dominators is a central tool in program optimization and code generation, and it has applications in other diverse areas including constraint programming, circuit testing, and biology. In this paper we survey recent results, applications, and open problems related to the ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract—The computation of dominators is a central tool in program optimization and code generation, and it has applications in other diverse areas including constraint programming, circuit testing, and biology. In this paper we survey recent results, applications, and open problems related to the notion of dominators in directed graphs, including dominator verification and certification, computing independent spanning trees, and connectivity and pathdetermination problems in directed graphs. I.