If an instruction is defined in a block not the the one we try to get
the value in. We will keep chasing up the predecessors till we figure
out a value for the Val*.
This, however, can take us up to the entry block even though we are
not looking at a function argment.