In this testcase, %2 has some full defs and some subregister defs and
initially has two subranges for the low lane, and the rest of the full
register. The subregister def is not live out of the block where it
is defined.
After %2 is split, refineSubRanges ends up splitting the subrange
masks into a different set of masks than in the original parent
interval. This would then fail to find it and hit the unreachable.
I'm suspicious of how simple this patch is, and not sure why this
special phi handling is needed given that refineSubRanges was already
called Suspiciously, only one SystemZ test fails if I remove this
entire loop for subrange handling.