## A Simple, Fast Dominance Algorithm

### Cached

### Download Links

Citations: | 30 - 0 self |

### BibTeX

@MISC{Cooper_asimple,,

author = {Keith D. Cooper and Timothy J. Harvey and Ken Kennedy},

title = {A Simple, Fast Dominance Algorithm},

year = {}

}

### OpenURL

### Abstract

The problem of finding the dominators in a control-flow graph has a long history in the literature. The original algorithms su#ered from a large asymptotic complexity but were easy to understand. Subsequent work improved the time bound, but generally sacrificed both simplicity and ease of implementation. This paper returns to a simple formulation of dominance as a global data-flow problem. Some insights into the natureofdominance lead to an implementation of an O(N )algorithm that runs faster, in practice, than the classic Lengauer-Tarjan algorithm, which has a timebound of O(E log(N)). We compare the algorithm to Lengauer-Tarjan because it is the best known and most widely used of the fast algorithms for dominance. Working from the same implementationinsights,wealso rederive (from earlier work on control dependence by Ferrante, et al.)amethodforcalculating dominance frontiers that we show is faster than the original algorithm by Cytron, et al. The aim of this paper is not to present a new algorithm, but, rather, to make an argument based on empirical evidence that algorithms with discouraging asymptotic complexities can be faster in practice than those more commonly employed. We show that, in some cases, careful engineering of simple algorithms can overcome theoretical advantages, even when problems grow beyond realistic sizes. Further, we argue that the algorithms presented herein are intuitive and easily implemented, making them excellent teaching tools.