This pass is being added in order to make the information available to BasicAA, which can't do caching of this information itself, but possibly this information may be useful for other passes.
Incorporates code based on Daniel Berlin's implementation of Tarjan's algorithm.