Lines Matching refs:MBB
114 static void emitRegPlusImmediate(bool isARM, MachineBasicBlock &MBB,
122 emitARMRegPlusImmediate(MBB, MBBI, dl, DestReg, SrcReg, NumBytes,
125 emitT2RegPlusImmediate(MBB, MBBI, dl, DestReg, SrcReg, NumBytes,
129 static void emitSPUpdate(bool isARM, MachineBasicBlock &MBB,
135 emitRegPlusImmediate(isARM, MBB, MBBI, dl, TII, ARM::SP, ARM::SP, NumBytes,
158 MachineBasicBlock &MBB = MF.front();
159 MachineBasicBlock::iterator MBBI = MBB.begin();
177 DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc();
194 emitSPUpdate(isARM, MBB, MBBI, dl, TII, -ArgRegsSaveSize,
199 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
206 emitSPUpdate(isARM, MBB, MBBI, dl, TII, -(NumBytes - ArgRegsSaveSize),
211 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
255 MachineBasicBlock::iterator LastPush = MBB.end(), GPRCS1Push, GPRCS2Push,
305 AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::t2MOVi16), ARM::R4)
309 BuildMI(MBB, MBBI, dl, TII.get(ARM::t2MOVi32imm), ARM::R4)
318 BuildMI(MBB, MBBI, dl, TII.get(ARM::tBL))
326 BuildMI(MBB, MBBI, dl, TII.get(ARM::t2MOVi32imm), ARM::R12)
330 BuildMI(MBB, MBBI, dl, TII.get(ARM::tBLXr))
338 AddDefaultCC(AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::t2SUBrr),
356 emitSPUpdate(isARM, MBB, MBBI, dl, TII, -NumBytes,
376 BuildMI(MBB, Pos, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
401 BuildMI(MBB, Pos, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
415 emitRegPlusImmediate(!AFI->isThumbFunction(), MBB, GPRCS1Push, dl, TII,
422 BuildMI(MBB, GPRCS1Push, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
429 BuildMI(MBB, GPRCS1Push, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
440 BuildMI(MBB, Pos, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
457 BuildMI(MBB, Pos, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
474 BuildMI(MBB, DPRCSPush, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
488 BuildMI(MBB, DPRCSPush, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
499 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION))
521 AddDefaultCC(AddDefaultPred(BuildMI(MBB, MBBI, dl,
532 AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::R4)
534 AddDefaultCC(AddDefaultPred(BuildMI(MBB, MBBI, dl,
538 AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::SP)
552 BuildMI(MBB, MBBI, dl,
557 AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr),
570 MachineBasicBlock &MBB) const {
571 MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
596 emitSPUpdate(isARM, MBB, MBBI, dl, TII, NumBytes - ArgRegsSaveSize);
600 if (MBBI != MBB.begin()) {
603 } while (MBBI != MBB.begin() && isCSRestore(MBBI, TII, CSRegs));
620 emitARMRegPlusImmediate(MBB, MBBI, dl, ARM::SP, FramePtr, -NumBytes,
632 emitT2RegPlusImmediate(MBB, MBBI, dl, ARM::R4, FramePtr, -NumBytes,
634 AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr),
641 BuildMI(MBB, MBBI, dl, TII.get(ARM::MOVr), ARM::SP)
644 AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr),
650 emitSPUpdate(isARM, MBB, MBBI, dl, TII, NumBytes);
666 MBBI = MBB.getLastNonDebugInstr();
674 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, dl, TII.get(TCOpcode));
687 BuildMI(MBB, MBBI, dl,
697 MBB.erase(MBBI);
702 emitSPUpdate(isARM, MBB, MBBI, dl, TII, ArgRegsSaveSize);
797 void ARMFrameLowering::emitPushInst(MachineBasicBlock &MBB,
805 MachineFunction &MF = *MBB.getParent();
809 if (MI != MBB.end()) DL = MI->getDebugLoc();
835 MBB.addLiveIn(Reg);
850 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(StmOpc), ARM::SP)
855 MachineInstrBuilder MIB = BuildMI(MBB, MI, DL, TII.get(StrOpc),
871 void ARMFrameLowering::emitPopInst(MachineBasicBlock &MBB,
878 MachineFunction &MF = *MBB.getParent();
923 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(LdmOpc), ARM::SP)
938 BuildMI(MBB, MI, DL, TII.get(LdrOpc), Regs[0])
961 static void emitAlignedDPRCS2Spills(MachineBasicBlock &MBB,
966 MachineFunction &MF = *MBB.getParent();
1008 AddDefaultCC(AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(Opc), ARM::R4)
1015 AddDefaultCC(AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(Opc), ARM::R4)
1024 MachineInstrBuilder MIB = BuildMI(MBB, MI, DL, TII.get(Opc), ARM::SP)
1039 MBB.addLiveIn(SupReg);
1040 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VST1d64Qwb_fixed),
1057 MBB.addLiveIn(SupReg);
1058 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VST1d64Q))
1069 MBB.addLiveIn(SupReg);
1070 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VST1q64))
1078 MBB.addLiveIn(NextReg);
1080 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VSTRD))
1120 static void emitAlignedDPRCS2Restores(MachineBasicBlock &MBB,
1125 MachineFunction &MF = *MBB.getParent();
1147 AddDefaultCC(AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(Opc), ARM::R4)
1157 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VLD1d64Qwb_fixed), NextReg)
1173 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VLD1d64Q), NextReg)
1184 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VLD1q64), SupReg)
1192 AddDefaultPred(BuildMI(MBB, MI, DL, TII.get(ARM::VLDRD), NextReg)
1199 bool ARMFrameLowering::spillCalleeSavedRegisters(MachineBasicBlock &MBB,
1206 MachineFunction &MF = *MBB.getParent();
1214 emitPushInst(MBB, MI, CSI, PushOpc, PushOneOpc, false, &isARMArea1Register, 0,
1216 emitPushInst(MBB, MI, CSI, PushOpc, PushOneOpc, false, &isARMArea2Register, 0,
1218 emitPushInst(MBB, MI, CSI, FltOpc, 0, true, &isARMArea3Register,
1225 emitAlignedDPRCS2Spills(MBB, MI, NumAlignedDPRCS2Regs, CSI, TRI);
1230 bool ARMFrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,
1237 MachineFunction &MF = *MBB.getParent();
1245 emitAlignedDPRCS2Restores(MBB, MI, NumAlignedDPRCS2Regs, CSI, TRI);
1250 emitPopInst(MBB, MI, CSI, FltOpc, 0, isVarArg, true, &isARMArea3Register,
1252 emitPopInst(MBB, MI, CSI, PopOpc, LdrOpc, isVarArg, false,
1254 emitPopInst(MBB, MI, CSI, PopOpc, LdrOpc, isVarArg, false,
1264 for (auto &MBB : MF) {
1265 for (auto &MI : MBB)
1279 for (auto &MBB : MF) {
1280 for (auto &MI : MBB) {
1628 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
1659 emitSPUpdate(isARM, MBB, I, dl, TII, -Amount, MachineInstr::NoFlags,
1665 emitSPUpdate(isARM, MBB, I, dl, TII, Amount, MachineInstr::NoFlags,
1670 MBB.erase(I);
2024 // Organizing MBB lists