When the select condition operand is a phi node with an incoming value as a constant vector, we are incorrectly folding select into that phi node. This optimization is done in FoldOpIntoPhi.
Without the fix, we would incorrectly choose the true part
of the select to fold into the phi node, even if some elements in the vector are null.
With this fix, we will correctly fold the select into the phi node based on the
select vector operand (see added test cases).