Generalized Dominators

The notion of dominators is generalized to include multiple-vertex dominators in addition to traditional single-vertex dominators. A multiple-vertex dominator of a vertex is a group of vertices that collectively dominate the vertex. An algorithm for computing immediate multiple-vertex dom-inators is presented. The immediate dominator information is expressed in the form of a directed acyclic graph referred to as the DDAG. The generalized dominator set of any vertex can be computed from the DDAG. The single-vertex dominator information restricts the propagation of loop invariant statements and array bound checks out of loops. Generalized dominator information avoids these restrictions.