Inserting a value into Visited has the effect of terminating a search for predecessors if that node is seen. This is legitimate for the base address (as used in DAGCombiner.cpp), and acts as a slight performance optimization. But the vector-building node here can be part of a legitimate cycle so we shouldn't stop searching there.
Should fix https://bugs.llvm.org/show_bug.cgi?id=43056.