Immediate predominators in a directed graph [H]

  • Authors:
  • Paul W. Purdom, Jr.;Edward F. Moore

  • Affiliations:
  • Univ. of Wisconsin, Madison;Univ. of Wisconsin, Madison

  • Venue:
  • Communications of the ACM
  • Year:
  • 1972

Quantified Score

Hi-index 48.22

Visualization

Abstract

We assume a directed graph whose nodes are labeled by integers between 1 and n. The arcs of this graph correspond to the flow of control between blocks of a computer program. The initial node of this graph (corresponding to the entry point of the program) is labeled by the integer 1. For optimizing the object code generated by a compiler, the relationship of immediate predominator has been used by Lowry and Medlock [3]. We say that node i predominates node k if every path from node 1 to node k passes through (i.e. both into and out of) node i. Node j is an immediate predominator of node k if node j predominates node k and if every other node i which predominates node k also predominates node j. It can easily be proved that if k ≠ 1 and node k is reachable from node 1t hen node k has exactly one immediate predominator. In case k = 1, or node k is not reachable from node 1, the immediate predominator of node k is undefined, and the value 0 will be given by the procedure PREDOMINATOR.