Member predicate Make::BasicBlockImpl::edgeDominates
Holds if the edge with successor type s
out of this basic block is a
dominating edge for dominated
.
That is, all paths reaching dominated
from the entry point basic
block must go through the s
edge out of this basic block.
Edge dominance is similar to node dominance except it concerns edges
instead of nodes: A basic block is dominated by a basic block bb
if
it can only be reached through bb
and dominated by an edge e
if it
can only be reached through e
.
Note that where all basic blocks (except the entry basic block) are
strictly dominated by at least one basic block, a basic block may not be
dominated by any edge. If an edge dominates a basic block bb
, then
both endpoints of the edge dominates bb
. The converse is not the case,
as there may be multiple paths between the endpoints with none of them
dominating.
predicate edgeDominates(BasicBlock dominated, SuccessorType s)