Add comments.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 8 Dec 2010 06:29:02 +0000 (06:29 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 8 Dec 2010 06:29:02 +0000 (06:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121238 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMFrameInfo.cpp

index d4aa3eb504a39eed3af5f128798f98b7b90c57d4..7059c1b507a78085dd53fb02ad07b315b427136b 100644 (file)
@@ -529,10 +529,11 @@ void ARMFrameInfo::emitPushInst(MachineBasicBlock &MBB,
       if (isKill)
         MBB.addLiveIn(Reg);
 
-      if (NoGap && LastReg) {
-        if (LastReg != Reg-1)
-          break;
-      }
+      // If NoGap is true, pop consecutive registers and then leave the rest
+      // for other instructions. e.g.
+      // vpush {d8, d10, d11} -> vpush {d8}, vpop {d10, d11}
+      if (NoGap && LastReg && LastReg != Reg-1)
+        break;
       LastReg = Reg;
       Regs.push_back(std::make_pair(Reg, isKill));
     }
@@ -574,10 +575,12 @@ void ARMFrameInfo::emitPopInst(MachineBasicBlock &MBB,
         DeleteRet = true;
       }
 
-      if (NoGap && LastReg) {
-        if (LastReg != Reg-1)
-          break;
-      }
+      // If NoGap is true, pop consecutive registers and then leave the rest
+      // for other instructions. e.g.
+      // vpop {d8, d10, d11} -> vpop {d8}, vpop {d10, d11}
+      if (NoGap && LastReg && LastReg != Reg-1)
+        break;
+
       LastReg = Reg;
       Regs.push_back(Reg);
     }