Home | History | Annotate | Download | only in X86

Lines Matching defs:MBB

2111     const MachineBasicBlock* MBB = MI->getParent();
2113 for (auto E = MBB->end(); I != E; ++I) {
2393 bool X86InstrInfo::isSafeToClobberEFLAGS(MachineBasicBlock &MBB,
2395 MachineBasicBlock::iterator E = MBB.end();
2428 for (MachineBasicBlock *S : MBB.successors())
2434 MachineBasicBlock::iterator B = MBB.begin();
2440 return !MBB.isLiveIn(X86::EFLAGS);
2470 void X86InstrInfo::reMaterialize(MachineBasicBlock &MBB,
2483 if (ClobbersEFLAGS && !isSafeToClobberEFLAGS(MBB, I)) {
2496 BuildMI(MBB, I, DL, get(X86::MOV32ri)).addOperand(Orig->getOperand(0))
2499 MachineInstr *MI = MBB.getParent()->CloneMachineInstr(Orig);
2500 MBB.insert(I, MI);
3903 MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB,
3909 MachineBasicBlock::iterator I = MBB.end();
3910 MachineBasicBlock::iterator UnCondBrIter = MBB.end();
3911 while (I != MBB.begin()) {
3936 while (std::next(I) != MBB.end())
3943 if (MBB.isLayoutSuccessor(I->getOperand(0).getMBB())) {
3946 I = MBB.end();
3947 UnCondBrIter = MBB.end();
3964 if (AllowModify && UnCondBrIter != MBB.end() &&
3965 MBB.isLayoutSuccessor(TargetBB)) {
3987 BuildMI(MBB, UnCondBrIter, MBB.findDebugLoc(I), get(JNCC))
3989 BuildMI(MBB, UnCondBrIter, MBB.findDebugLoc(I), get(X86::JMP_1))
3996 UnCondBrIter = MBB.end();
3997 I = MBB.end();
4048 bool X86InstrInfo::AnalyzeBranch(MachineBasicBlock &MBB,
4054 return AnalyzeBranchImpl(MBB, TBB, FBB, Cond, CondBranches, AllowModify);
4057 bool X86InstrInfo::AnalyzeBranchPredicate(MachineBasicBlock &MBB,
4064 if (AnalyzeBranchImpl(MBB, MBP.TrueDest, MBP.FalseDest, Cond, CondBranches,
4074 MBP.FalseDest = MBB.getNextNode();
4081 for (auto I = std::next(MBB.rbegin()), E = MBB.rend(); I != E; ++I) {
4095 for (auto *Succ : MBB.successors())
4126 unsigned X86InstrInfo::RemoveBranch(MachineBasicBlock &MBB) const {
4127 MachineBasicBlock::iterator I = MBB.end();
4130 while (I != MBB.begin()) {
4139 I = MBB.end();
4147 X86InstrInfo::InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
4158 BuildMI(&MBB, DL, get(X86::JMP_1)).addMBB(TBB);
4168 BuildMI(&MBB, DL, get(X86::JNP_1)).addMBB(TBB);
4170 BuildMI(&MBB, DL, get(X86::JE_1)).addMBB(TBB);
4175 BuildMI(&MBB, DL, get(X86::JNE_1)).addMBB(TBB);
4177 BuildMI(&MBB, DL, get(X86::JP_1)).addMBB(TBB);
4182 BuildMI(&MBB, DL, get(Opc)).addMBB(TBB);
4188 BuildMI(&MBB, DL, get(X86::JMP_1)).addMBB(FBB);
4195 canInsertSelect(const MachineBasicBlock &MBB,
4209 const MachineRegisterInfo &MRI = MBB.getParent()->getRegInfo();
4231 void X86InstrInfo::insertSelect(MachineBasicBlock &MBB,
4235 MachineRegisterInfo &MRI = MBB.getParent()->getRegInfo();
4240 BuildMI(MBB, I, DL, get(Opc), DstReg).addReg(FalseReg).addReg(TrueReg);
4362 void X86InstrInfo::copyPhysReg(MachineBasicBlock &MBB,
4400 BuildMI(MBB, MI, DL, get(Opc), DestReg)
4426 BuildMI(MBB, MI, DL, get(PushF));
4427 BuildMI(MBB, MI, DL, get(Pop), DestReg);
4430 BuildMI(MBB, MI, DL, get(Push))
4432 BuildMI(MBB, MI, DL, get(PopF));
4461 MBB.computeRegisterLiveness(&getRegisterInfo(), AX, MI));
4468 BuildMI(MBB, MI, DL, get(Push)).addReg(AX, getKillRegState(true));
4471 BuildMI(MBB, MI, DL, get(X86::SETOr), X86::AL);
4472 BuildMI(MBB, MI, DL, get(X86::LAHF));
4473 BuildMI(MBB, MI, DL, get(Mov), Reg).addReg(AX);
4476 BuildMI(MBB, MI, DL, get(Mov), AX).addReg(Reg, getKillRegState(KillSrc));
4477 BuildMI(MBB, MI, DL, get(X86::ADD8ri), X86::AL)
4480 BuildMI(MBB, MI, DL, get(X86::SAHF));
4483 BuildMI(MBB, MI, DL, get(Pop), AX);
4624 void X86InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
4629 const MachineFunction &MF = *MBB.getParent();
4637 DebugLoc DL = MBB.findDebugLoc(MI);
4638 addFrameReference(BuildMI(MBB, MI, DL, get(Opc)), FrameIdx)
4663 void X86InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
4668 const MachineFunction &MF = *MBB.getParent();
4674 DebugLoc DL = MBB.findDebugLoc(MI);
4675 addFrameReference(BuildMI(MBB, MI, DL, get(Opc), DestReg), FrameIdx);
5158 MachineBasicBlock *MBB = CmpInstr->getParent();
5159 for (MachineBasicBlock::succ_iterator SI = MBB->succ_begin(),
5160 SE = MBB->succ_end(); SI != SE; ++SI)
5284 MachineBasicBlock &MBB = *MIB->getParent();
5289 BuildMI(MBB, MIB.getInstr(), DL, TII.get(X86::XOR32rr), Reg)
5301 MachineBasicBlock &MBB = *MIB->getParent();
5315 BuildMI(MBB, I, DL, get(X86::PUSH64i8)).addImm(Imm);
5322 BuildMI(MBB, I, DL, get(X86::PUSH32i8)).addImm(Imm);
5327 MachineFunction &MF = *MBB.getParent();
5335 TFL->BuildCFI(MBB, I, DL,
5337 TFL->BuildCFI(MBB, std::next(I), DL,
5348 MachineBasicBlock &MBB = *MIB->getParent();
5354 MachineMemOperand *MMO = MBB.getParent()->getMachineMemOperand(
5355 MachinePointerInfo::getGOT(*MBB.getParent()), Flag, 8, 8);
5358 BuildMI(MBB, I, DL, TII.get(X86::MOV64rm), Reg).addReg(X86::RIP).addImm(1)
5465 MachineBasicBlock *MBB = InsertPt->getParent();
5466 MBB->insert(InsertPt, NewMI);
5491 MachineBasicBlock *MBB = InsertPt->getParent();
5492 MBB->insert(InsertPt, NewMI);
6992 const MachineBasicBlock *MBB) const {
7010 return TargetInstrInfo::hasReassociableOperands(Inst, MBB);
7196 // Insert the set of GlobalBaseReg into the first MBB of the function