Lines Matching refs:MBBI

67                              MachineBasicBlock::iterator &MBBI,  in emitPrologueEpilogueSPUpdate()  argument
84 BuildMI(MBB, MBBI, dl, TII.get(XOInstr), ScratchReg) in emitPrologueEpilogueSPUpdate()
87 MRI.emitLoadConstPool(MBB, MBBI, dl, ScratchReg, 0, NumBytes, ARMCC::AL, in emitPrologueEpilogueSPUpdate()
90 BuildMI(MBB, MBBI, dl, TII.get(ARM::tADDhirr), ARM::SP) in emitPrologueEpilogueSPUpdate()
99 emitThumbRegPlusImmediate(MBB, MBBI, dl, ARM::SP, ARM::SP, NumBytes, TII, in emitPrologueEpilogueSPUpdate()
105 MachineBasicBlock::iterator &MBBI, in emitCallSPUpdate() argument
109 emitThumbRegPlusImmediate(MBB, MBBI, dl, ARM::SP, ARM::SP, NumBytes, TII, in emitCallSPUpdate()
149 MachineBasicBlock::iterator MBBI = MBB.begin(); in emitPrologue() local
182 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, -ArgRegsSaveSize, in emitPrologue()
187 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION)) in emitPrologue()
194 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, in emitPrologue()
200 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION)) in emitPrologue()
252 std::advance(MBBI, 2); in emitPrologue()
253 FRPush = MBBI++; in emitPrologue()
256 if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPUSH) { in emitPrologue()
257 GPRCS1Push = MBBI; in emitPrologue()
258 ++MBBI; in emitPrologue()
264 MachineBasicBlock::iterator OldMBBI = MBBI; in emitPrologue()
266 while (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tMOVr && in emitPrologue()
267 MBBI->getFlag(MachineInstr::FrameSetup)) in emitPrologue()
268 MBBI++; in emitPrologue()
269 if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPUSH && in emitPrologue()
270 MBBI->getFlag(MachineInstr::FrameSetup)) { in emitPrologue()
271 GPRCS2Push = MBBI; in emitPrologue()
272 MBBI++; in emitPrologue()
277 MBBI = OldMBBI; in emitPrologue()
429 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, -NumBytes, in emitPrologue()
435 BuildMI(MBB, MBBI, dl, TII.get(TargetOpcode::CFI_INSTRUCTION)) in emitPrologue()
457 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::R4) in emitPrologue()
461 BuildMI(MBB, MBBI, dl, TII.get(ARM::tLSRri), ARM::R4) in emitPrologue()
467 BuildMI(MBB, MBBI, dl, TII.get(ARM::tLSLri), ARM::R4) in emitPrologue()
473 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::SP) in emitPrologue()
485 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), BasePtr) in emitPrologue()
502 MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator(); in emitEpilogue() local
503 DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc(); in emitEpilogue()
519 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, in emitEpilogue()
524 if (MBBI != MBB.begin()) { in emitEpilogue()
526 --MBBI; in emitEpilogue()
527 while (MBBI != MBB.begin() && MBBI->getFlag(MachineInstr::FrameDestroy)); in emitEpilogue()
528 if (!MBBI->getFlag(MachineInstr::FrameDestroy)) in emitEpilogue()
529 ++MBBI; in emitEpilogue()
559 emitThumbRegPlusImmediate(MBB, MBBI, dl, ScratchRegister, FramePtr, -NumBytes, in emitEpilogue()
561 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::SP) in emitEpilogue()
566 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::SP) in emitEpilogue()
571 if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tBX_RET && in emitEpilogue()
572 &MBB.front() != &*MBBI && std::prev(MBBI)->getOpcode() == ARM::tPOP) { in emitEpilogue()
573 MachineBasicBlock::iterator PMBBI = std::prev(MBBI); in emitEpilogue()
577 } else if (!tryFoldSPUpdateIntoPushPop(STI, MF, &*MBBI, NumBytes)) in emitEpilogue()
578 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, NumBytes, in emitEpilogue()
648 auto MBBI = MBB.getFirstTerminator(); in emitPopSpecialFixUp() local
651 if (MBBI != MBB.end() && MBBI->getOpcode() != ARM::tB) in emitPopSpecialFixUp()
652 CanRestoreDirectly = (MBBI->getOpcode() == ARM::tBX_RET || in emitPopSpecialFixUp()
653 MBBI->getOpcode() == ARM::tPOP_RET); in emitPopSpecialFixUp()
655 auto MBBI_prev = MBBI; in emitPopSpecialFixUp()
660 MBBI = MBBI_prev; // Replace the final tPOP with a tPOP_RET. in emitPopSpecialFixUp()
667 if (!DoIt || MBBI->getOpcode() == ARM::tPOP_RET) in emitPopSpecialFixUp()
670 BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII.get(ARM::tPOP_RET)) in emitPopSpecialFixUp()
674 for (auto MO: MBBI->operands()) in emitPopSpecialFixUp()
679 MBB.erase(MBBI); in emitPopSpecialFixUp()
697 if (MBBI != MBB.end()) { in emitPopSpecialFixUp()
698 dl = MBBI->getDebugLoc(); in emitPopSpecialFixUp()
700 while (InstUpToMBBI != MBBI) in emitPopSpecialFixUp()
729 if (!PopReg && MBBI != MBB.begin()) { in emitPopSpecialFixUp()
730 auto PrevMBBI = MBBI; in emitPopSpecialFixUp()
737 MBBI = PrevMBBI; in emitPopSpecialFixUp()
751 BuildMI(MBB, MBBI, dl, TII.get(ARM::tLDRspi)) in emitPopSpecialFixUp()
754 .addImm(MBBI->getNumExplicitOperands() - 2) in emitPopSpecialFixUp()
758 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) in emitPopSpecialFixUp()
764 MBBI++; in emitPopSpecialFixUp()
766 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, in emitPopSpecialFixUp()
775 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) in emitPopSpecialFixUp()
782 if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPOP_RET) { in emitPopSpecialFixUp()
786 BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII.get(ARM::tPOP)) in emitPopSpecialFixUp()
790 for (auto MO: MBBI->operands()) in emitPopSpecialFixUp()
801 MBB.erase(MBBI); in emitPopSpecialFixUp()
802 MBBI = BuildMI(MBB, MBB.end(), dl, TII.get(ARM::tBX_RET)) in emitPopSpecialFixUp()
808 BuildMI(MBB, MBBI, dl, TII.get(ARM::tPOP)) in emitPopSpecialFixUp()
813 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, ArgRegsSaveSize, in emitPopSpecialFixUp()
816 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) in emitPopSpecialFixUp()
823 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) in emitPopSpecialFixUp()