Unlike other implementations commonly found, this does not require either a post-dominator

tree or post-dominance frontiers.

It computes the relationship in linear time and space, and in fact, requires less time

that computing post-dominators!

If we wanted to, we could make this incrementally updated in O(sqrt(N) log n) time.

(This is currently used by newgvn to solve a problem GVN has of trying to figure out where it can propagate edge equivalences to)