Support long chains of instruction where getUnderlyingObject fails.
getUnderlyingObjects already traverse large set on instructions so
there is no reason to limit some sequences by MaxLookup.
getUnderlyingObject needs MaxLookup to avoid infinit loops on cycles.
getUnderlyingObjects uses Visited so it can't get into infinit loops
if it calls getUnderlyingObject with MaxLookup > 0.
So we can continiosly repeate getUnderlyingObject updating Visited and
return all underlying Values.
Not sure if it is really incorrect, but it is certainly a bit misleading; we will create a runtime check between gepB_plus_one and gepB9, which will never succeed I think.
The result with the patch is certainly an improvement.