Lines Matching full:mbb
68 void Mips16InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
91 MachineInstrBuilder MIB = BuildMI(MBB, I, DL, get(Opc));
101 storeRegToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
106 if (I != MBB.end()) DL = I->getDebugLoc();
107 MachineMemOperand *MMO = GetMemOperand(MBB, FI, MachineMemOperand::MOStore);
112 BuildMI(MBB, I, DL, get(Opc)).addReg(SrcReg, getKillRegState(isKill)).
118 loadRegFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
122 if (I != MBB.end()) DL = I->getDebugLoc();
123 MachineMemOperand *MMO = GetMemOperand(MBB, FI, MachineMemOperand::MOLoad);
129 BuildMI(MBB, I, DL, get(Opc), DestReg).addFrameIndex(FI).addImm(Offset)
134 MachineBasicBlock &MBB = *MI->getParent();
139 ExpandRetRA16(MBB, MI, Mips::JrcRa16);
143 MBB.erase(MI);
175 MachineBasicBlock &MBB,
177 DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
180 BuildMI(MBB, I, DL, get(Mips::SaveRaF16)).addImm(FrameSize);
185 BuildMI(MBB, I, DL, get(Mips::SaveRaF16)). addImm(Base);
187 BuildAddiuSpImm(MBB, I, -Remainder);
189 adjustStackPtrBig(SP, -Remainder, MBB, I, Mips::V0, Mips::V1);
199 MachineInstrBuilder MIB1 = BuildMI(MBB, I, DL, get(Mips::SwRxSpImmX16),
203 MachineInstrBuilder MIB2 = BuildMI(MBB, I, DL, get(Mips::SwRxSpImmX16),
207 MachineInstrBuilder MIB3 = BuildMI(MBB, I, DL, get(Mips::SwRxSpImmX16),
211 adjustStackPtrBig(SP, -FrameSize, MBB, I, Mips::V0, Mips::V1);
217 MachineBasicBlock &MBB,
219 DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
222 BuildMI(MBB, I, DL, get(Mips::RestoreRaF16)).addImm(FrameSize);
228 BuildAddiuSpImm(MBB, I, Remainder);
230 adjustStackPtrBig(SP, Remainder, MBB, I, Mips::A0, Mips::A1);
231 BuildMI(MBB, I, DL, get(Mips::RestoreRaF16)). addImm(Base);
235 adjustStackPtrBig(SP, FrameSize, MBB, I, Mips::A0, Mips::A1);
239 MachineInstrBuilder MIB1 = BuildMI(MBB, I, DL, get(Mips::LwRxSpImmX16),
243 MachineInstrBuilder MIB0 = BuildMI(MBB, I, DL, get(Mips::Move32R16),
246 MachineInstrBuilder MIB2 = BuildMI(MBB, I, DL, get(Mips::LwRxSpImmX16),
250 MachineInstrBuilder MIB3 = BuildMI(MBB, I, DL, get(Mips::LwRxSpImmX16),
264 MachineBasicBlock &MBB,
267 DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
268 // MachineRegisterInfo &RegInfo = MBB.getParent()->getRegInfo();
278 MachineInstrBuilder MIB1 = BuildMI(MBB, I, DL, get(Mips::LwConstant32), Reg1);
280 MachineInstrBuilder MIB2 = BuildMI(MBB, I, DL, get(Mips::MoveR3216), Reg2);
282 MachineInstrBuilder MIB3 = BuildMI(MBB, I, DL, get(Mips::AdduRxRyRz16), Reg1);
285 MachineInstrBuilder MIB4 = BuildMI(MBB, I, DL, get(Mips::Move32R16),
291 MachineBasicBlock &MBB,
298 MachineBasicBlock &MBB,
301 BuildAddiuSpImm(MBB, I, Amount);
303 adjustStackPtrBigUnrestricted(SP, Amount, MBB, I);
310 int64_t Imm, MachineBasicBlock &MBB,
331 rs.enterBasicBlock(&MBB);
386 copyPhysReg(MBB, II, DL, FirstRegSavedTo, FirstRegSaved, true);
391 BuildMI(MBB, II, DL, get(Mips::LwConstant32), Reg).addImm(Imm);
403 copyPhysReg(MBB, II, DL, SecondRegSavedTo, SecondRegSaved, true);
407 copyPhysReg(MBB, II, DL, SpReg, Mips::SP, false);
408 BuildMI(MBB, II, DL, get(Mips:: AdduRxRyRz16), Reg).addReg(SpReg, RegState::Kill)
412 BuildMI(MBB, II, DL, get(Mips:: AdduRxRyRz16), Reg).addReg(FrameReg)
417 copyPhysReg(MBB, II, DL, FirstRegSaved, FirstRegSavedTo, true);
419 copyPhysReg(MBB, II, DL, SecondRegSaved, SecondRegSavedTo, true);
429 int64_t Imm, MachineBasicBlock &MBB,
433 MachineRegisterInfo &RegInfo = MBB.getParent()->getRegInfo();
435 BuildMI(MBB, II, DL, get(Mips::LwConstant32), Reg).addImm(Imm);
452 void Mips16InstrInfo::ExpandRetRA16(MachineBasicBlock &MBB,
455 BuildMI(MBB, I, I->getDebugLoc(), get(Opc));
467 (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, int64_t Imm) const {
468 DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc();
469 BuildMI(MBB, I, DL, AddiuSpImm(Imm)).addImm(Imm);