unsigned ArgRegsSaveSize = AFI->getArgRegsSaveSize();
unsigned NumBytes = MFI->getStackSize();
- assert(NumBytes >= ArgRegsSaveSize &&
- "ArgRegsSaveSize is included in NumBytes");
- const std::vector<CalleeSavedInfo> &CSI = MFI->getCalleeSavedInfo();
- DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc();
- unsigned FramePtr = RegInfo->getFrameRegister(MF);
- unsigned BasePtr = RegInfo->getBaseRegister();
- int CFAOffset = 0;
+ assert(NumBytes >= ArgRegsSaveSize &&\r
+ "ArgRegsSaveSize is included in NumBytes");\r
+ const std::vector<CalleeSavedInfo> &CSI = MFI->getCalleeSavedInfo();\r
+\r
+ // Debug location must be unknown since the first debug location is used\r
+ // to determine the end of the prologue.\r
+ DebugLoc dl;\r
+ \r
+ unsigned FramePtr = RegInfo->getFrameRegister(MF);\r
+ unsigned BasePtr = RegInfo->getBaseRegister();\r
+ int CFAOffset = 0;\r
// Thumb add/sub sp, imm8 instructions implicitly multiply the offset by 4.
NumBytes = (NumBytes + 3) & ~3;
DPRCSSize += 8;
}
}
-
- if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPUSH) {
- ++MBBI;
- if (MBBI != MBB.end())
- dl = MBBI->getDebugLoc();
- }
-
- // Determine starting offsets of spill areas.
+\r
+ if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPUSH) {\r
+ ++MBBI;\r
+ }\r
+\r
+ // Determine starting offsets of spill areas.\r
unsigned DPRCSOffset = NumBytes - ArgRegsSaveSize - (GPRCS1Size + GPRCS2Size + DPRCSSize);
unsigned GPRCS2Offset = DPRCSOffset + DPRCSSize;
unsigned GPRCS1Offset = GPRCS2Offset + GPRCS2Size;
if (CSI.empty())
return false;
- DebugLoc DL;
- const TargetInstrInfo &TII = *STI.getInstrInfo();
-
- if (MI != MBB.end()) DL = MI->getDebugLoc();
-
- MachineInstrBuilder MIB = BuildMI(MBB, MI, DL, TII.get(ARM::tPUSH));
- AddDefaultPred(MIB);
- for (unsigned i = CSI.size(); i != 0; --i) {
+ DebugLoc DL;\r
+ const TargetInstrInfo &TII = *STI.getInstrInfo();\r
+\r
+ MachineInstrBuilder MIB = BuildMI(MBB, MI, DL, TII.get(ARM::tPUSH));\r
+ AddDefaultPred(MIB);\r
+ for (unsigned i = CSI.size(); i != 0; --i) {\r
unsigned Reg = CSI[i-1].getReg();
bool isKill = true;