The previous code overwrites VRMap for prologue stages during Phi
generation if a register spans many stages.
As a result, the wrong register is used as the one coming from
the prologue in Phis at later stages. (A process exists to correct
this, but it does not work in all cases.)
In addition, VRMap for prologue must be preserved until addBranches().
This patch fixes them by separating the map for Phis into a different
variable (VRMapPhi).
I'm noticing a mix of FileCheck variables (e.g. LFSU) and plain MIR numbered variables (e.g. %29). Is this how the script generated the checks? In general, I think it's preferred to replace numbered variables with either FileCheck variables if they're relevant for the test, or {{.*}} otherwise.