Lines Matching refs:MBBI
62 bool ExpandMI(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI);
72 MachineBasicBlock::iterator MBBI) { in ExpandMI() argument
73 MachineInstr &MI = *MBBI; in ExpandMI()
75 DebugLoc DL = MBBI->getDebugLoc(); in ExpandMI()
86 MachineOperand &JumpTarget = MBBI->getOperand(0); in ExpandMI()
87 MachineOperand &StackAdjust = MBBI->getOperand(isMem ? 5 : 1); in ExpandMI()
102 Offset += X86FL->mergeSPUpdates(MBB, MBBI, true); in ExpandMI()
103 X86FL->emitSPUpdate(MBB, MBBI, Offset, /*InEpilogue=*/true); in ExpandMI()
112 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(Op)); in ExpandMI()
125 MachineInstrBuilder MIB = BuildMI(MBB, MBBI, DL, TII->get(Op)); in ExpandMI()
127 MIB.addOperand(MBBI->getOperand(i)); in ExpandMI()
129 BuildMI(MBB, MBBI, DL, in ExpandMI()
133 BuildMI(MBB, MBBI, DL, TII->get(X86::TAILJMPr)) in ExpandMI()
137 MachineInstr &NewMI = *std::prev(MBBI); in ExpandMI()
138 NewMI.copyImplicitOps(*MBBI->getParent()->getParent(), *MBBI); in ExpandMI()
141 MBB.erase(MBBI); in ExpandMI()
147 MachineOperand &DestAddr = MBBI->getOperand(0); in ExpandMI()
152 BuildMI(MBB, MBBI, DL, in ExpandMI()
160 int64_t StackAdj = MBBI->getOperand(0).getImm(); in ExpandMI()
161 X86FL->emitSPUpdate(MBB, MBBI, StackAdj, true); in ExpandMI()
163 BuildMI(MBB, MBBI, DL, in ExpandMI()
165 MBB.erase(MBBI); in ExpandMI()
170 int64_t StackAdj = MBBI->getOperand(0).getImm(); in ExpandMI()
173 MIB = BuildMI(MBB, MBBI, DL, in ExpandMI()
176 MIB = BuildMI(MBB, MBBI, DL, in ExpandMI()
184 BuildMI(MBB, MBBI, DL, TII->get(X86::POP32r)).addReg(X86::ECX, RegState::Define); in ExpandMI()
185 X86FL->emitSPUpdate(MBB, MBBI, StackAdj, /*InEpilogue=*/true); in ExpandMI()
186 BuildMI(MBB, MBBI, DL, TII->get(X86::PUSH32r)).addReg(X86::ECX); in ExpandMI()
187 MIB = BuildMI(MBB, MBBI, DL, TII->get(X86::RETL)); in ExpandMI()
189 for (unsigned I = 1, E = MBBI->getNumOperands(); I != E; ++I) in ExpandMI()
190 MIB.addOperand(MBBI->getOperand(I)); in ExpandMI()
191 MBB.erase(MBBI); in ExpandMI()
198 X86FL->restoreWin32EHStackPointers(MBB, MBBI, DL, /*RestoreSP=*/IsSEH); in ExpandMI()
199 MBBI->eraseFromParent(); in ExpandMI()
210 const MachineOperand &InArg = MBBI->getOperand(6); in ExpandMI()
211 unsigned SaveRbx = MBBI->getOperand(7).getReg(); in ExpandMI()
217 TII->copyPhysReg(MBB, MBBI, DL, ActualInArg, InArg.getReg(), in ExpandMI()
222 MachineInstr *NewInstr = BuildMI(MBB, MBBI, DL, TII->get(ActualOpc)); in ExpandMI()
225 NewInstr->addOperand(MBBI->getOperand(Idx)); in ExpandMI()
227 TII->copyPhysReg(MBB, MBBI, DL, ActualInArg, SaveRbx, in ExpandMI()
231 MBBI->eraseFromParent(); in ExpandMI()
244 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in ExpandMBB() local
245 while (MBBI != E) { in ExpandMBB()
246 MachineBasicBlock::iterator NMBBI = std::next(MBBI); in ExpandMBB()
247 Modified |= ExpandMI(MBB, MBBI); in ExpandMBB()
248 MBBI = NMBBI; in ExpandMBB()