[llvm] r268216 - [SystemZ] Fix in restoreCalleeSavedRegisters()

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Mon May 2 02:37:44 PDT 2016


Author: jonpa
Date: Mon May  2 04:37:44 2016
New Revision: 268216

URL: http://llvm.org/viewvc/llvm-project?rev=268216&view=rev
Log:
[SystemZ] Fix in restoreCalleeSavedRegisters()

Only add operands for GRs to the LMG.

Reviewed by Ulrich Weigand.

Modified:
    llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp

Modified: llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp?rev=268216&r1=268215&r2=268216&view=diff
==============================================================================
--- llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp (original)
+++ llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cpp Mon May  2 04:37:44 2016
@@ -258,7 +258,8 @@ restoreCalleeSavedRegisters(MachineBasic
     // Do a second scan adding regs as being defined by instruction
     for (unsigned I = 0, E = CSI.size(); I != E; ++I) {
       unsigned Reg = CSI[I].getReg();
-      if (Reg != LowGPR && Reg != HighGPR)
+      if (Reg != LowGPR && Reg != HighGPR &&
+          SystemZ::GR64BitRegClass.contains(Reg))
         MIB.addReg(Reg, RegState::ImplicitDefine);
     }
   }




More information about the llvm-commits mailing list