This is a more general fix to 59029b9eef23 (D75704).
This patch does the following:
- updates isKnownBaseValue to account for base pointer and
derived pointer having differing types.
- This inturn allows us to populate the
lattice (States) for such derived pointers.
- It also updates all states where the base and derived pointers have
differing types (vector versus scalar) and conservatively marks these
states as conflictcs.
Note that in 59029b9eef23, we were just fixing existing lattice values
and that too, only for uses of extractelement.
Is Input a derived pointer here for which we check if V is a base of?.. Or vice versa?