Lines Matching defs:MBBI
33 bool usePopRet(MachineBasicBlock::iterator &MBBI,
35 bool adjustRetVal(MachineBasicBlock::iterator &MBBI);
50 for (MachineBasicBlock::iterator MBBI = MBB.begin(); MBBI != MBB.end();
51 MBBI = next_nodbg(MBBI, MBB.end()))
52 if (MBBI->getOpcode() == RISCV::CM_POP)
53 return MBBI;
58 bool RISCVPushPopOpt::usePopRet(MachineBasicBlock::iterator &MBBI,
67 .add(MBBI->getOperand(0))
68 .add(MBBI->getOperand(1));
72 const MCInstrDesc &PopDesc = MBBI->getDesc();
76 for (unsigned i = FirstNonDeclaredOp; i < MBBI->getNumOperands(); ++i)
77 PopRetBuilder.add(MBBI->getOperand(i));
79 MBBI->eraseFromParent();
86 bool RISCVPushPopOpt::adjustRetVal(MachineBasicBlock::iterator &MBBI) {
87 MachineBasicBlock::reverse_iterator RE = MBBI->getParent()->rend();
95 next_nodbg(MBBI.getReverse(), RE);
140 MachineBasicBlock::iterator MBBI = containsPop(MBB);
141 MachineBasicBlock::iterator NextI = next_nodbg(MBBI, MBB.end());
142 if (MBBI != MBB.end() && NextI != MBB.end() &&
144 Modified |= usePopRet(MBBI, NextI, adjustRetVal(MBBI));