[AArch64] Strengthen the code for the prologue insertion.
authorQuentin Colombet <qcolombet@apple.com>
Fri, 10 Apr 2015 23:14:34 +0000 (23:14 +0000)
committerQuentin Colombet <qcolombet@apple.com>
Fri, 10 Apr 2015 23:14:34 +0000 (23:14 +0000)
The spilled registers are pristine and thus, correctly handled by
the register scavenger and so on, but the liveness information is
strictly speaking wrong at this point.
Fix that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234664 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/AArch64/AArch64FrameLowering.cpp

index 01716c3cca505e77ca229b096887c82c45985cca..bd2af16121035da52c38d991693fd816b6c45880 100644 (file)
@@ -787,6 +787,8 @@ bool AArch64FrameLowering::spillCalleeSavedRegisters(
     if (StrOpc == AArch64::STPDpre || StrOpc == AArch64::STPXpre)
       MIB.addReg(AArch64::SP, RegState::Define);
 
+    MBB.addLiveIn(Reg1);
+    MBB.addLiveIn(Reg2);
     MIB.addReg(Reg2, getPrologueDeath(MF, Reg2))
         .addReg(Reg1, getPrologueDeath(MF, Reg1))
         .addReg(AArch64::SP)