[SystemZ] Fix in restoreCalleeSavedRegisters()
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Mon, 2 May 2016 09:37:44 +0000 (09:37 +0000)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Mon, 2 May 2016 09:37:44 +0000 (09:37 +0000)
Only add operands for GRs to the LMG.

Reviewed by Ulrich Weigand.

llvm-svn: 268216

llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp

index ebf880e..0bdfaf6 100644 (file)
@@ -258,7 +258,8 @@ restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
     // 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);
     }
   }