Use addSImm() instead of addImm() for stack offsets, which may be negative.
authorMisha Brukman <brukman+llvm@gmail.com>
Wed, 21 Jul 2004 19:36:57 +0000 (19:36 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Wed, 21 Jul 2004 19:36:57 +0000 (19:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15081 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PowerPCRegisterInfo.cpp

index b52e83905acc90ce0802c3e74fabab16443493df..d1fdf1f4acebbe1bda969d2d2e35232d2457327d 100644 (file)
@@ -210,7 +210,7 @@ void PowerPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
     // Store the incoming LR so it is preserved across calls
     MI = BuildMI(PPC32::MFLR, 0, PPC32::R0);
     MBB.insert(MBBI, MI);
-    MI = BuildMI(PPC32::STW, 3).addReg(PPC32::R0).addImm(8).addReg(PPC32::R1);
+    MI = BuildMI(PPC32::STW, 3).addReg(PPC32::R0).addSImm(8).addReg(PPC32::R1);
     MBB.insert(MBBI, MI);
   }
 
@@ -219,7 +219,7 @@ void PowerPCRegisterInfo::emitPrologue(MachineFunction &MF) const {
   
   // adjust stack pointer: r1 -= numbytes
   if (NumBytes) {
-    MI = BuildMI(PPC32::STWU, 2, PPC32::R1).addImm(-NumBytes).addReg(PPC32::R1);
+    MI = BuildMI(PPC32::STWU, 2, PPC32::R1).addSImm(-NumBytes).addReg(PPC32::R1);
     MBB.insert(MBBI, MI);
   }
 }
@@ -247,7 +247,7 @@ void PowerPCRegisterInfo::emitEpilogue(MachineFunction &MF,
     MBB.insert(MBBI, MI);
   }
   // Adjust stack pointer back
-  MI = BuildMI(PPC32::ADDI, 2, PPC32::R1).addReg(PPC32::R1).addImm(NumBytes);
+  MI = BuildMI(PPC32::ADDI, 2, PPC32::R1).addReg(PPC32::R1).addSImm(NumBytes);
   MBB.insert(MBBI, MI);
 }