A new, simpler linear-time dominators algorithm

  • Authors:
  • Adam L. Buchsbaum;Haim Kaplan;Anne Rogers;Jeffery R. Westbrook

  • Affiliations:
  • AT&T Labs, Florham Park, NJ;AT&T Labs, Florham Park, NJ;AT&T Labs, Florham Park, NJ;AT&T Labs, Florham Park, NJ

  • Venue:
  • ACM Transactions on Programming Languages and Systems (TOPLAS)
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

Abstract

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.