Member predicate BasicBlock::strictlyDominates
Holds if this basic block strictly dominates basic block bb
.
That is, all paths reaching basic block bb
from some entry point
basic block must go through this basic block (which must be different
from bb
).
Example:
int M(string s) {
if (s == null)
throw new ArgumentNullException(nameof(s));
return s.Length;
}
The basic block starting on line 2 strictly dominates the
basic block on line 4 (all paths from the entry point of M
to return s.Length;
must go through the null check).
predicate strictlyDominates(BasicBlock bb)