Lines Matching refs:MBBI

219                                     MachineBasicBlock::iterator &MBBI,  in emitSPUpdate()  argument
240 BuildMI(MBB, MBBI, DL, TII.get(X86::STACKALLOC_W_PROBING)).addImm(Offset); in emitSPUpdate()
251 Reg = TRI->findDeadCallerSavedReg(MBB, MBBI); in emitSPUpdate()
256 BuildMI(MBB, MBBI, DL, TII.get(getMOVriOpcode(Is64Bit, Offset)), Reg) in emitSPUpdate()
259 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(AddSubRROpc), StackPtr) in emitSPUpdate()
273 BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH64r)) in emitSPUpdate()
282 BuildMI(MBB, MBBI, DL, TII.get(getMOVriOpcode(Is64Bit, Offset)), Rax) in emitSPUpdate()
285 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(X86::ADD64rr), Rax) in emitSPUpdate()
291 BuildMI(MBB, MBBI, DL, TII.get(X86::XCHG64rm), Rax).addReg(Rax), in emitSPUpdate()
294 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64rm), StackPtr), in emitSPUpdate()
307 : TRI->findDeadCallerSavedReg(MBB, MBBI); in emitSPUpdate()
312 BuildMI(MBB, MBBI, DL, TII.get(Opc)) in emitSPUpdate()
320 BuildStackAdjustment(MBB, MBBI, DL, isSub ? -ThisVal : ThisVal, InEpilogue) in emitSPUpdate()
328 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, in BuildStackAdjustment() argument
358 MI = addRegOffset(BuildMI(MBB, MBBI, DL, in BuildStackAdjustment()
367 MI = BuildMI(MBB, MBBI, DL, TII.get(Opc), StackPtr) in BuildStackAdjustment()
376 MachineBasicBlock::iterator &MBBI, in mergeSPUpdates() argument
378 if ((doMergeWithPrevious && MBBI == MBB.begin()) || in mergeSPUpdates()
379 (!doMergeWithPrevious && MBBI == MBB.end())) in mergeSPUpdates()
382 MachineBasicBlock::iterator PI = doMergeWithPrevious ? std::prev(MBBI) : MBBI; in mergeSPUpdates()
432 MBBI = skipDebugInstructionsForward(PI, MBB.end()); in mergeSPUpdates()
438 MachineBasicBlock::iterator MBBI, in BuildCFI() argument
444 BuildMI(MBB, MBBI, DL, TII.get(TargetOpcode::CFI_INSTRUCTION)) in BuildCFI()
452 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI) const { in emitCalleeSavedFrameMovesFullCFA()
455 emitCalleeSavedFrameMoves(MBB, MBBI, DebugLoc{}, true); in emitCalleeSavedFrameMovesFullCFA()
467 BuildCFI(MBB, MBBI, DebugLoc{}, in emitCalleeSavedFrameMovesFullCFA()
469 emitCalleeSavedFrameMoves(MBB, MBBI, DebugLoc{}, true); in emitCalleeSavedFrameMovesFullCFA()
473 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, in emitCalleeSavedFrameMoves() argument
490 BuildCFI(MBB, MBBI, DL, in emitCalleeSavedFrameMoves()
493 BuildCFI(MBB, MBBI, DL, in emitCalleeSavedFrameMoves()
504 MachineBasicBlock::iterator MBBI = MBB.getFirstTerminator(); in emitZeroCallUsedRegs() local
508 if (MBBI != MBB.end()) in emitZeroCallUsedRegs()
509 DL = MBBI->getDebugLoc(); in emitZeroCallUsedRegs()
520 BuildMI(MBB, MBBI, DL, TII.get(X86::LD_F0)); in emitZeroCallUsedRegs()
523 BuildMI(MBB, MBBI, DL, TII.get(X86::ST_FPrr)).addReg(X86::ST0); in emitZeroCallUsedRegs()
536 BuildMI(MBB, MBBI, DL, TII.get(X86::XOR32rr), Reg) in emitZeroCallUsedRegs()
574 BuildMI(MBB, MBBI, DL, TII.get(XorOp), Reg) in emitZeroCallUsedRegs()
582 MachineBasicBlock::iterator MBBI, const DebugLoc &DL, bool InProlog, in emitStackProbe() argument
587 BuildMI(MBB, MBBI, DL, TII.get(X86::STACKALLOC_W_PROBING)) in emitStackProbe()
590 emitStackProbeInline(MF, MBB, MBBI, DL, false); in emitStackProbe()
593 emitStackProbeCall(MF, MBB, MBBI, DL, InProlog, InstrNum); in emitStackProbe()
615 MachineBasicBlock::iterator MBBI, in emitStackProbeInline() argument
620 emitStackProbeInlineWindowsCoreCLR64(MF, MBB, MBBI, DL, InProlog); in emitStackProbeInline()
622 emitStackProbeInlineGeneric(MF, MBB, MBBI, DL, InProlog); in emitStackProbeInline()
627 MachineBasicBlock::iterator MBBI, const DebugLoc &DL, bool InProlog) const { in emitStackProbeInlineGeneric() argument
628 MachineInstr &AllocWithProbe = *MBBI; in emitStackProbeInlineGeneric()
646 emitStackProbeInlineGenericLoop(MF, MBB, MBBI, DL, Offset, in emitStackProbeInlineGeneric()
649 emitStackProbeInlineGenericBlock(MF, MBB, MBBI, DL, Offset, in emitStackProbeInlineGeneric()
656 MachineBasicBlock::iterator MBBI, const DebugLoc &DL, uint64_t Offset, in emitStackProbeInlineGenericBlock() argument
674 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opc), StackPtr) in emitStackProbeInlineGenericBlock()
679 BuildCFI(MBB, MBBI, DL, in emitStackProbeInlineGenericBlock()
685 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(MovMIOpc)) in emitStackProbeInlineGenericBlock()
698 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opc), StackPtr) in emitStackProbeInlineGenericBlock()
706 MBB, MBBI, DL, in emitStackProbeInlineGenericBlock()
709 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(MovMIOpc)) in emitStackProbeInlineGenericBlock()
720 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(Opc), StackPtr) in emitStackProbeInlineGenericBlock()
731 MachineBasicBlock::iterator MBBI, const DebugLoc &DL, uint64_t Offset, in emitStackProbeInlineGenericLoop() argument
746 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(SUBOpc), StackPtr) in emitStackProbeInlineGenericLoop()
752 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(MovMIOpc)) in emitStackProbeInlineGenericLoop()
777 BuildMI(MBB, MBBI, DL, TII.get(TargetOpcode::COPY), FinalStackProbed) in emitStackProbeInlineGenericLoop()
785 BuildMI(MBB, MBBI, DL, TII.get(SUBOpc), FinalStackProbed) in emitStackProbeInlineGenericLoop()
800 BuildCFI(MBB, MBBI, DL, in emitStackProbeInlineGenericLoop()
803 BuildCFI(MBB, MBBI, DL, in emitStackProbeInlineGenericLoop()
839 tailMBB->splice(tailMBB->end(), &MBB, MBBI, MBB.end()); in emitStackProbeInlineGenericLoop()
875 MachineBasicBlock::iterator MBBI, const DebugLoc &DL, bool InProlog) const { in emitStackProbeInlineWindowsCoreCLR64() argument
920 MachineBasicBlock::iterator BeforeMBBI = std::prev(MBBI); in emitStackProbeInlineWindowsCoreCLR64()
921 ContinueMBB->splice(ContinueMBB->begin(), &MBB, MBBI, MBB.end()); in emitStackProbeInlineWindowsCoreCLR64()
1109 MachineBasicBlock::iterator MBBI, const DebugLoc &DL, bool InProlog, in emitStackProbeCall() argument
1127 MachineBasicBlock::iterator ExpansionMBBI = std::prev(MBBI); in emitStackProbeCall()
1134 BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64ri), X86::R11) in emitStackProbeCall()
1136 CI = BuildMI(MBB, MBBI, DL, TII.get(CallOp)).addReg(X86::R11); in emitStackProbeCall()
1138 CI = BuildMI(MBB, MBBI, DL, TII.get(CallOp)) in emitStackProbeCall()
1159 BuildMI(MBB, MBBI, DL, TII.get(getSUBrrOpcode(Uses64BitFramePtr)), SP) in emitStackProbeCall()
1183 for (++ExpansionMBBI; ExpansionMBBI != MBBI; ++ExpansionMBBI) in emitStackProbeCall()
1215 MachineBasicBlock::iterator MBBI, in BuildStackAlignAND() argument
1255 entryMBB->splice(entryMBB->end(), &MBB, MBB.begin(), MBBI); in BuildStackAlignAND()
1357 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII.get(AndOp), Reg) in BuildStackAlignAND()
1477 MachineBasicBlock::iterator MBBI = MBB.begin(); in emitPrologue() local
1526 BuildMI(MBB, MBBI, DL, TII.get(X86::OR64rm), MachineFramePtr) in emitPrologue()
1539 BuildMI(MBB, MBBI, DL, TII.get(X86::BTS64ri8), MachineFramePtr) in emitPrologue()
1557 emitSPUpdate(MBB, MBBI, DL, -8, /*InEpilogue=*/false); in emitPrologue()
1583 BuildStackAdjustment(MBB, MBBI, DL, -(int)TailCallArgReserveSize, in emitPrologue()
1617 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(MOVmr)), StackPtr, true, 16) in emitPrologue()
1640 BuildMI(MBB, MBBI, DL, TII.get(Is64Bit ? X86::PUSH64r : X86::PUSH32r)) in emitPrologue()
1648 BuildCFI(MBB, MBBI, DL, in emitPrologue()
1654 BuildCFI(MBB, MBBI, DL, in emitPrologue()
1662 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_PushReg)) in emitPrologue()
1678 BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH64r)) in emitPrologue()
1684 BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH64i8)) in emitPrologue()
1691 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_PushReg)) in emitPrologue()
1696 BuildMI(MBB, MBBI, DL, TII.get(X86::LEA64r), FramePtr) in emitPrologue()
1703 BuildMI(MBB, MBBI, DL, TII.get(X86::SUB64ri8), X86::RSP) in emitPrologue()
1712 BuildMI(MBB, MBBI, DL, in emitPrologue()
1723 MBB, MBBI, DL, in emitPrologue()
1731 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_SetFrame)) in emitPrologue()
1763 while (MBBI != MBB.end() && in emitPrologue()
1764 MBBI->getFlag(MachineInstr::FrameSetup) && in emitPrologue()
1765 (MBBI->getOpcode() == X86::PUSH32r || in emitPrologue()
1766 MBBI->getOpcode() == X86::PUSH64r)) { in emitPrologue()
1768 Register Reg = MBBI->getOperand(0).getReg(); in emitPrologue()
1769 ++MBBI; in emitPrologue()
1775 BuildCFI(MBB, MBBI, DL, in emitPrologue()
1783 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_PushReg)) in emitPrologue()
1794 BuildStackAlignAND(MBB, MBBI, DL, StackPtr, MaxAlign); in emitPrologue()
1798 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_StackAlign)) in emitPrologue()
1807 NumBytes -= mergeSPUpdates(MBB, MBBI, true); in emitPrologue()
1832 BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH64r)) in emitPrologue()
1837 BuildMI(MBB, MBBI, DL, TII.get(X86::PUSH32r)) in emitPrologue()
1847 BuildMI(MBB, MBBI, DL, TII.get(getMOVriOpcode(Is64Bit, Alloc)), X86::RAX) in emitPrologue()
1853 BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32ri), X86::EAX) in emitPrologue()
1859 emitStackProbe(MF, MBB, MBBI, DL, true); in emitPrologue()
1871 MBB.insert(MBBI, MI); in emitPrologue()
1874 emitSPUpdate(MBB, MBBI, DL, -(int64_t)NumBytes, /*InEpilogue=*/false); in emitPrologue()
1879 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_StackAlloc)) in emitPrologue()
1895 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64rm), Establisher), in emitPrologue()
1902 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64mr)), StackPtr, in emitPrologue()
1921 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::LEA64r), FramePtr), in emitPrologue()
1924 BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64rr), FramePtr) in emitPrologue()
1931 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_SetFrame)) in emitPrologue()
1940 MBBI = restoreWin32EHStackPointers(MBB, MBBI, DL); in emitPrologue()
1949 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32mr)), FrameReg, in emitPrologue()
1955 while (MBBI != MBB.end() && MBBI->getFlag(MachineInstr::FrameSetup)) { in emitPrologue()
1956 const MachineInstr &FrameInstr = *MBBI; in emitPrologue()
1957 ++MBBI; in emitPrologue()
1974 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_SaveXMM)) in emitPrologue()
1984 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_EndPrologue)) in emitPrologue()
1994 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64mr)), StackPtr, false, in emitPrologue()
2007 BuildStackAlignAND(MBB, MBBI, DL, SPOrEstablisher, MaxAlign); in emitPrologue()
2021 BuildMI(MBB, MBBI, DL, TII.get(Opc), BasePtr) in emitPrologue()
2028 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(Opm)), in emitPrologue()
2045 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(Opm)), UsedReg, true, Offset) in emitPrologue()
2057 MBB, MBBI, DL, in emitPrologue()
2063 emitCalleeSavedFrameMoves(MBB, MBBI, DL, true); in emitPrologue()
2075 BuildMI(MBB, MBBI, DL, TII.get(X86::CLD)) in emitPrologue()
2171 MachineBasicBlock::iterator MBBI = Terminator; in emitEpilogue() local
2173 if (MBBI != MBB.end()) in emitEpilogue()
2174 DL = MBBI->getDebugLoc(); in emitEpilogue()
2184 bool IsFunclet = MBBI == MBB.end() ? false : isFuncletReturnInstr(*MBBI); in emitEpilogue()
2216 MachineBasicBlock::iterator AfterPop = MBBI; in emitEpilogue()
2220 int Offset = 16 + mergeSPUpdates(MBB, MBBI, true); in emitEpilogue()
2221 emitSPUpdate(MBB, MBBI, DL, Offset, /*InEpilogue*/true); in emitEpilogue()
2224 BuildMI(MBB, MBBI, DL, TII.get(Is64Bit ? X86::POP64r : X86::POP32r), in emitEpilogue()
2231 BuildMI(MBB, MBBI, DL, TII.get(X86::BTR64ri8), in emitEpilogue()
2241 BuildCFI(MBB, MBBI, DL, in emitEpilogue()
2249 --MBBI; in emitEpilogue()
2252 --MBBI; in emitEpilogue()
2256 MachineBasicBlock::iterator FirstCSPop = MBBI; in emitEpilogue()
2258 while (MBBI != MBB.begin()) { in emitEpilogue()
2259 MachineBasicBlock::iterator PI = std::prev(MBBI); in emitEpilogue()
2271 --MBBI; in emitEpilogue()
2273 MBBI = FirstCSPop; in emitEpilogue()
2278 if (MBBI != MBB.end()) in emitEpilogue()
2279 DL = MBBI->getDebugLoc(); in emitEpilogue()
2283 NumBytes += mergeSPUpdates(MBB, MBBI, true); in emitEpilogue()
2292 MBBI = FirstCSPop; in emitEpilogue()
2309 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(Opc), StackPtr), in emitEpilogue()
2311 --MBBI; in emitEpilogue()
2314 BuildMI(MBB, MBBI, DL, TII.get(Opc), StackPtr) in emitEpilogue()
2316 --MBBI; in emitEpilogue()
2320 emitSPUpdate(MBB, MBBI, DL, NumBytes, /*InEpilogue=*/true); in emitEpilogue()
2323 BuildCFI(MBB, MBBI, DL, in emitEpilogue()
2328 --MBBI; in emitEpilogue()
2338 BuildMI(MBB, MBBI, DL, TII.get(X86::SEH_Epilogue)); in emitEpilogue()
2341 MBBI = FirstCSPop; in emitEpilogue()
2345 while (MBBI != MBB.end()) { in emitEpilogue()
2346 MachineBasicBlock::iterator PI = MBBI; in emitEpilogue()
2348 ++MBBI; in emitEpilogue()
2351 BuildCFI(MBB, MBBI, DL, in emitEpilogue()
2754 MachineBasicBlock::iterator MBBI, in emitCatchRetReturnValue() argument
2766 BuildMI(MBB, MBBI, DL, TII.get(X86::LEA64r), X86::RAX) in emitCatchRetReturnValue()
2774 BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32ri), X86::EAX) in emitCatchRetReturnValue()
3164 MachineBasicBlock::const_iterator MBBI) { in blockEndIsUnreachable() argument
3168 std::all_of(MBBI, MBB.end(), [](const MachineInstr &MI) { in blockEndIsUnreachable()
3323 MachineBasicBlock::iterator MBBI, in adjustStackWithPops() argument
3339 if (MBBI == MBB.begin()) in adjustStackWithPops()
3341 MachineBasicBlock::iterator Prev = std::prev(MBBI); in adjustStackWithPops()
3390 BuildMI(MBB, MBBI, DL, in adjustStackWithPops()
3560 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, in restoreWin32EHStackPointers() argument
3581 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32rm), X86::ESP), in restoreWin32EHStackPointers()
3594 BuildMI(MBB, MBBI, DL, TII.get(ADDri), FramePtr) in restoreWin32EHStackPointers()
3604 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::LEA32r), BasePtr), in restoreWin32EHStackPointers()
3613 addRegOffset(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV32rm), FramePtr), in restoreWin32EHStackPointers()
3619 return MBBI; in restoreWin32EHStackPointers()
3841 auto MBBI = MBB.begin(); in adjustFrameForMsvcCxxEh() local
3842 while (MBBI != MBB.end() && MBBI->getFlag(MachineInstr::FrameSetup)) in adjustFrameForMsvcCxxEh()
3843 ++MBBI; in adjustFrameForMsvcCxxEh()
3845 DebugLoc DL = MBB.findDebugLoc(MBBI); in adjustFrameForMsvcCxxEh()
3846 addFrameReference(BuildMI(MBB, MBBI, DL, TII.get(X86::MOV64mi32)), in adjustFrameForMsvcCxxEh()