hasReservedSpillSlot returns a dummy frame index of '0' on PPC64 for the non-volatile condition registers, which leads to the CalleSavedInfo either referencing an unrelated stack object, or an invalid object if there are no stack objects. The latter case causes the mir-printer to crash due to assertions that check if the frame index referenced by a CalleeSavedInfo is valid. To fix the problem I simply create an immutable FixedStack object at the correct offset in the previous stack frame (ie SP + positive offset).
Initially I tried to fix this by handling the CR save similar to the link register. My reasoning was that since both have custom saving and restoring to the linkage area inserted as part of the prologue/epilogue we should reset CR2/CR3/CR4 in the callee saved register mask and not create CalleeSavedInfos. This has the draw back that they don't get added as live-ins in updateLiveness so I abandoned the approach.
aliases? looks confusing, as IsAliased below is always false.