Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121238 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/ARMFrameInfo.cpp b/lib/Target/ARM/ARMFrameInfo.cpp
index d4aa3eb..7059c1b 100644
--- a/lib/Target/ARM/ARMFrameInfo.cpp
+++ b/lib/Target/ARM/ARMFrameInfo.cpp
@@ -529,10 +529,11 @@
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 @@
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);
}