Make sure we mark these registers as defined. Previously was done
authorReed Kotler <rkotler@mips.com>
Sun, 8 Dec 2013 19:21:47 +0000 (19:21 +0000)
committerReed Kotler <rkotler@mips.com>
Sun, 8 Dec 2013 19:21:47 +0000 (19:21 +0000)
in the td file.

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

lib/Target/Mips/Mips16InstrInfo.cpp

index 05658106bbeb58127d82b755e9053d294707fc95..4cb9312bcd693d87341f9e3ad9c4fe7e5d24f1a4 100644 (file)
@@ -229,9 +229,11 @@ void Mips16InstrInfo::restoreFrame(unsigned SP, int64_t FrameSize,
   DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
   if (!NeverUseSaveRestore) {
     if (isUInt<11>(FrameSize))
-      BuildMI(MBB, I, DL, get(Mips::RestoreX16)).addReg(Mips::RA).
-              addReg(Mips::S0).
-              addReg(Mips::S1).addReg(Mips::S2).addImm(FrameSize);
+      BuildMI(MBB, I, DL, get(Mips::RestoreX16)).
+              addReg(Mips::RA, RegState::Define).
+              addReg(Mips::S0, RegState::Define).
+              addReg(Mips::S1, RegState::Define).
+              addReg(Mips::S2, RegState::Define).addImm(FrameSize);
     else {
       int Base = 2040; // should create template function like isUInt that
                        // returns largest possible n bit unsigned integer
@@ -240,9 +242,11 @@ void Mips16InstrInfo::restoreFrame(unsigned SP, int64_t FrameSize,
         BuildAddiuSpImm(MBB, I, Remainder);
       else
         adjustStackPtrBig(SP, Remainder, MBB, I, Mips::A0, Mips::A1);
-      BuildMI(MBB, I, DL, get(Mips::RestoreX16)).addReg(Mips::RA).
-              addReg(Mips::S0).
-              addReg(Mips::S1).addReg(Mips::S2).addImm(Base);
+      BuildMI(MBB, I, DL, get(Mips::RestoreX16)).
+              addReg(Mips::RA, RegState::Define).
+              addReg(Mips::S0, RegState::Define).
+              addReg(Mips::S1, RegState::Define).
+              addReg(Mips::S2, RegState::Define).addImm(Base);
     }
   }
   else {