Lines Matching refs:MBBI

65                                MachineBasicBlock::iterator MBBI);
67 MachineBasicBlock::iterator MBBI);
68 bool ExpandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI);
91 MachineBasicBlock *MBB, MachineBasicBlock::iterator MBBI) { in INITIALIZE_PASS()
93 MachineInstr *JTInst = &*MBBI; in INITIALIZE_PASS()
107 BuildMI(*MBB, MBBI, DL, TII->get(X86::LEA64r), X86::R11) in INITIALIZE_PASS()
114 BuildMI(*MBB, MBBI, DL, TII->get(X86::CMP64rr)) in INITIALIZE_PASS()
128 BuildMI(*MBB, MBBI, DL, TII->get(X86::JCC_1)).addMBB(ThenMBB).addImm(CC); in INITIALIZE_PASS()
133 MBBI = MBB->end(); in INITIALIZE_PASS()
143 BuildMI(*MBB, MBBI, DL, TII->get(X86::TAILJMPd64)) in INITIALIZE_PASS()
178 MBBI = MBB->end(); in INITIALIZE_PASS()
192 MachineBasicBlock::iterator MBBI) { in expandCALL_RVMARKER() argument
195 MachineInstr &MI = *MBBI; in expandCALL_RVMARKER()
210 OriginalCall = BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(Opc)).getInstr(); in expandCALL_RVMARKER()
228 auto *Marker = BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(X86::MOV64rr)) in expandCALL_RVMARKER()
239 BuildMI(MBB, MBBI, MI.getDebugLoc(), TII->get(X86::CALL64pcrel32)) in expandCALL_RVMARKER()
261 MachineBasicBlock::iterator MBBI) { in ExpandMI() argument
262 MachineInstr &MI = *MBBI; in ExpandMI()
264 const DebugLoc &DL = MBBI->getDebugLoc(); in ExpandMI()
277 MachineOperand &JumpTarget = MBBI->getOperand(0); in ExpandMI()
278 MachineOperand &StackAdjust = MBBI->getOperand(isMem ? X86::AddrNumOperands in ExpandMI()
298 Offset += X86FL->mergeSPUpdates(MBB, MBBI, true); in ExpandMI()
299 X86FL->emitSPUpdate(MBB, MBBI, DL, Offset, /*InEpilogue=*/true); in ExpandMI()
326 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(Op)); in ExpandMI()
336 MIB.addImm(MBBI->getOperand(2).getImm()); in ExpandMI()
343 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(Op)); in ExpandMI()
345 MIB.add(MBBI->getOperand(i)); in ExpandMI()
348 BuildMI(MBB, MBBI, DL, in ExpandMI()
353 BuildMI(MBB, MBBI, DL, TII->get(X86::TAILJMPr)) in ExpandMI()
357 MachineInstr &NewMI = *std::prev(MBBI); in ExpandMI()
358 NewMI.copyImplicitOps(*MBBI->getParent()->getParent(), *MBBI); in ExpandMI()
361 if (MBBI->isCandidateForCallSiteEntry()) in ExpandMI()
362 MBB.getParent()->moveCallSiteInfo(&*MBBI, &NewMI); in ExpandMI()
365 MBB.erase(MBBI); in ExpandMI()
371 MachineOperand &DestAddr = MBBI->getOperand(0); in ExpandMI()
376 BuildMI(MBB, MBBI, DL, in ExpandMI()
384 int64_t StackAdj = MBBI->getOperand(0).getImm(); in ExpandMI()
385 X86FL->emitSPUpdate(MBB, MBBI, DL, StackAdj, true); in ExpandMI()
392 BuildMI(MBB, MBBI, DL, TII->get(RetOp)); in ExpandMI()
393 MBB.erase(MBBI); in ExpandMI()
398 int64_t StackAdj = MBBI->getOperand(0).getImm(); in ExpandMI()
401 MIB = BuildMI(MBB, MBBI, DL, in ExpandMI()
404 MIB = BuildMI(MBB, MBBI, DL, in ExpandMI()
412 BuildMI(MBB, MBBI, DL, TII->get(X86::POP32r)).addReg(X86::ECX, RegState::Define); in ExpandMI()
413 X86FL->emitSPUpdate(MBB, MBBI, DL, StackAdj, /*InEpilogue=*/true); in ExpandMI()
414 BuildMI(MBB, MBBI, DL, TII->get(X86::PUSH32r)).addReg(X86::ECX); in ExpandMI()
415 MIB = BuildMI(MBB, MBBI, DL, TII->get(X86::RET32)); in ExpandMI()
417 for (unsigned I = 1, E = MBBI->getNumOperands(); I != E; ++I) in ExpandMI()
418 MIB.add(MBBI->getOperand(I)); in ExpandMI()
419 MBB.erase(MBBI); in ExpandMI()
429 const MachineOperand &InArg = MBBI->getOperand(6); in ExpandMI()
430 Register SaveRbx = MBBI->getOperand(7).getReg(); in ExpandMI()
436 TII->copyPhysReg(MBB, MBBI, DL, X86::RBX, InArg.getReg(), false); in ExpandMI()
438 MachineInstr *NewInstr = BuildMI(MBB, MBBI, DL, TII->get(X86::LCMPXCHG16B)); in ExpandMI()
441 NewInstr->addOperand(MBBI->getOperand(Idx)); in ExpandMI()
443 TII->copyPhysReg(MBB, MBBI, DL, X86::RBX, SaveRbx, in ExpandMI()
447 MBBI->eraseFromParent(); in ExpandMI()
459 int64_t Disp = MBBI->getOperand(1 + X86::AddrDisp).getImm(); in ExpandMI()
461 Register Reg = MBBI->getOperand(0).getReg(); in ExpandMI()
462 bool DstIsDead = MBBI->getOperand(0).isDead(); in ExpandMI()
466 auto MIBLo = BuildMI(MBB, MBBI, DL, TII->get(X86::KMOVWkm)) in ExpandMI()
468 auto MIBHi = BuildMI(MBB, MBBI, DL, TII->get(X86::KMOVWkm)) in ExpandMI()
472 MIBLo.add(MBBI->getOperand(1 + i)); in ExpandMI()
476 MIBHi.add(MBBI->getOperand(1 + i)); in ExpandMI()
480 MachineMemOperand *OldMMO = MBBI->memoperands().front(); in ExpandMI()
489 MBB.erase(MBBI); in ExpandMI()
493 int64_t Disp = MBBI->getOperand(X86::AddrDisp).getImm(); in ExpandMI()
495 Register Reg = MBBI->getOperand(X86::AddrNumOperands).getReg(); in ExpandMI()
496 bool SrcIsKill = MBBI->getOperand(X86::AddrNumOperands).isKill(); in ExpandMI()
500 auto MIBLo = BuildMI(MBB, MBBI, DL, TII->get(X86::KMOVWmk)); in ExpandMI()
501 auto MIBHi = BuildMI(MBB, MBBI, DL, TII->get(X86::KMOVWmk)); in ExpandMI()
504 MIBLo.add(MBBI->getOperand(i)); in ExpandMI()
508 MIBHi.add(MBBI->getOperand(i)); in ExpandMI()
514 MachineMemOperand *OldMMO = MBBI->memoperands().front(); in ExpandMI()
523 MBB.erase(MBBI); in ExpandMI()
533 const MachineOperand &InArg = MBBI->getOperand(1); in ExpandMI()
536 TII->copyPhysReg(MBB, MBBI, DL, X86::EBX, InArg.getReg(), InArg.isKill()); in ExpandMI()
538 BuildMI(MBB, MBBI, DL, TII->get(X86::MWAITXrrr)); in ExpandMI()
540 Register SaveRbx = MBBI->getOperand(2).getReg(); in ExpandMI()
541 TII->copyPhysReg(MBB, MBBI, DL, X86::RBX, SaveRbx, /*SrcIsKill*/ true); in ExpandMI()
543 MBBI->eraseFromParent(); in ExpandMI()
547 ExpandICallBranchFunnel(&MBB, MBBI); in ExpandMI()
598 expandCALL_RVMARKER(MBB, MBBI); in ExpandMI()
708 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in ExpandMBB() local
709 while (MBBI != E) { in ExpandMBB()
710 MachineBasicBlock::iterator NMBBI = std::next(MBBI); in ExpandMBB()
711 Modified |= ExpandMI(MBB, MBBI); in ExpandMBB()
712 MBBI = NMBBI; in ExpandMBB()