ddcc added a comment. I believe you're correct, the original code terminates early because of the short circuit evaluation on line 553, and visits all reachable nodes but doesn't recurse on non-SymbolData. https://reviews.llvm.org/D26773