}
}
// Adjust SP by FrameSize bytes. Save RA, S0, S1
-void Mips16InstrInfo::makeFrame(unsigned SP, int64_t FrameSize,
- MachineBasicBlock &MBB,
- MachineBasicBlock::iterator I) const {
- DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
- MachineFunction &MF = *MBB.getParent();
- MachineFrameInfo *MFI = MF.getFrameInfo();
- const BitVector Reserved = RI.getReservedRegs(MF);
+void Mips16InstrInfo::makeFrame(unsigned SP, int64_t FrameSize,\r
+ MachineBasicBlock &MBB,\r
+ MachineBasicBlock::iterator I) const {\r
+ DebugLoc DL;\r
+ MachineFunction &MF = *MBB.getParent();\r
+ MachineFrameInfo *MFI = MF.getFrameInfo();\r
+ const BitVector Reserved = RI.getReservedRegs(MF);\r
bool SaveS2 = Reserved[Mips::S2];
MachineInstrBuilder MIB;
unsigned Opc = ((FrameSize <= 128) && !SaveS2)? Mips::Save16:Mips::SaveX16;
// This is clearly safe at prologue and epilogue.
//
void Mips16InstrInfo::adjustStackPtrBig(unsigned SP, int64_t Amount,
- MachineBasicBlock &MBB,
- MachineBasicBlock::iterator I,
- unsigned Reg1, unsigned Reg2) const {
- DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
- //
- // li reg1, constant
- // move reg2, sp
+ MachineBasicBlock &MBB,\r
+ MachineBasicBlock::iterator I,\r
+ unsigned Reg1, unsigned Reg2) const {\r
+ DebugLoc DL;\r
+ //\r
+ // li reg1, constant\r
+ // move reg2, sp\r
// add reg1, reg1, reg2
// move sp, reg1
//
else
return get(Mips::AddiuSpImmX16);
}
-
-void Mips16InstrInfo::BuildAddiuSpImm
- (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const {
- DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
- BuildMI(MBB, I, DL, AddiuSpImm(Imm)).addImm(Imm);
-}
-
+\r
+void Mips16InstrInfo::BuildAddiuSpImm\r
+ (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const {\r
+ DebugLoc DL;\r
+ BuildMI(MBB, I, DL, AddiuSpImm(Imm)).addImm(Imm);\r
+}\r
+\r
const MipsInstrInfo *llvm::createMips16InstrInfo(const MipsSubtarget &STI) {
return new Mips16InstrInfo(STI);
}