Predicate signature CfgSig::dominatingEdge
Holds if bb1 has bb2 as a direct successor and the edge between bb1
and bb2 is a dominating edge.
An edge (bb1, bb2) is dominating if there exists a basic block that can
only be reached from the entry block by going through (bb1, bb2). This
implies that (bb1, bb2) dominates its endpoint bb2. I.e., bb2 can
only be reached from the entry block by going via (bb1, bb2).
This is a necessary and sufficient condition for an edge to dominate some
block, and therefore dominatingEdge(bb1, bb2) and bb2.dominates(bb3)
means that the edge (bb1, bb2) dominates bb3.
signature predicate dominatingEdge(BasicBlock bb1, BasicBlock bb2)