SROA may decide that it needs to insert a bitcast and would set it's
insertion point before a PHI. This will create an invalid module
right quick.
Instead, choose the first insertion point in the basic block that holds
our PHI.
The only testcase that I've got relies on a very specific uselist, I
haven't managed to come up with something nice and simple.
Need a CHECK-LABEL here.
I would also summarize the salient point of the test -- that we have a foldable PHI feeding a speculatable PHI which requires the rewriting of the speculated PHI to handle insertion when the incoming pointer is itself from a PHI node.