Lines Matching refs:MBBI
200 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
218 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(SystemZ::STMG));
246 TII->storeRegToStackSlot(MBB, MBBI, Reg, true, CSI[I].getFrameIdx(),
251 TII->storeRegToStackSlot(MBB, MBBI, Reg, true, CSI[I].getFrameIdx(),
260 MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
269 DebugLoc DL = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc();
275 TII->loadRegFromStackSlot(MBB, MBBI, Reg, CSI[I].getFrameIdx(),
278 TII->loadRegFromStackSlot(MBB, MBBI, Reg, CSI[I].getFrameIdx(),
293 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(SystemZ::LMG));
349 // Emit instructions before MBBI (in MBB) to add NumBytes to Reg.
351 MachineBasicBlock::iterator &MBBI, const DebugLoc &DL,
369 MachineInstr *MI = BuildMI(MBB, MBBI, DL, TII->get(Opcode), Reg)
379 MachineBasicBlock::iterator MBBI,
384 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
390 MachineBasicBlock::iterator MBBI,
399 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
411 MachineBasicBlock::iterator MBBI = MBB.begin();
443 if (MBBI != MBB.end() && MBBI->getOpcode() == SystemZ::STMG)
444 ++MBBI;
456 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
487 BuildMI(MBB, MBBI, DL, ZII->get(SystemZ::LGR))
501 BuildMI(MBB, MBBI, DL, ZII->get(SystemZ::PROBED_STACKALLOC))
505 emitIncrement(MBB, MBBI, DL, SystemZ::R15D, Delta, ZII);
506 buildCFAOffs(MBB, MBBI, DL, SPOffsetFromCFA + Delta, ZII);
513 BuildMI(MBB, MBBI, DL, ZII->get(SystemZ::STG))
521 BuildMI(MBB, MBBI, DL, ZII->get(SystemZ::LGR), SystemZ::R11D)
525 buildDefCFAReg(MBB, MBBI, DL, SystemZ::R11D, ZII);
539 if (MBBI != MBB.end() &&
540 (MBBI->getOpcode() == SystemZ::STD ||
541 MBBI->getOpcode() == SystemZ::STDY))
542 ++MBBI;
546 if (MBBI != MBB.end() &&
547 MBBI->getOpcode() == SystemZ::VST)
548 ++MBBI;
567 BuildMI(MBB, MBBI, DL, ZII->get(TargetOpcode::CFI_INSTRUCTION))
574 MachineBasicBlock::iterator MBBI = MBB.getLastNonDebugInstr();
585 assert(MBBI->isReturn() && "Can only insert epilogue into returning blocks");
589 --MBBI;
590 unsigned Opcode = MBBI->getOpcode();
595 DebugLoc DL = MBBI->getDebugLoc();
596 uint64_t Offset = StackSize + MBBI->getOperand(AddrOpNo + 1).getImm();
603 emitIncrement(MBB, MBBI, DL, MBBI->getOperand(AddrOpNo).getReg(),
610 MBBI->setDesc(ZII->get(NewOpcode));
611 MBBI->getOperand(AddrOpNo + 1).ChangeToImmediate(Offset);
613 DebugLoc DL = MBBI->getDebugLoc();
614 emitIncrement(MBB, MBBI, DL, SystemZ::R15D, StackSize, ZII);
639 MachineBasicBlock::iterator MBBI = StackAllocMI;
663 allocateAndProbe(*MBB, MBBI, ProbeSize, true/*EmitCFI*/);
669 BuildMI(*MBB, MBBI, DL, ZII->get(SystemZ::LGR), SystemZ::R1D)
671 buildDefCFAReg(*MBB, MBBI, DL, SystemZ::R1D, ZII);
672 emitIncrement(*MBB, MBBI, DL, SystemZ::R1D, -int64_t(LoopAlloc), ZII);
673 buildCFAOffs(*MBB, MBBI, DL, -int64_t(SystemZMC::CallFrameSize + LoopAlloc),
676 MachineBasicBlock *DoneMBB = SystemZ::splitBlockBefore(MBBI, MBB);
690 MBBI = DoneMBB->begin();
691 buildDefCFAReg(*MBB, MBBI, DL, SystemZ::R15D, ZII);
698 allocateAndProbe(*MBB, MBBI, Residual, true/*EmitCFI*/);