Lines Matching refs:MachineBasicBlock
66 typedef MachineBasicBlock::iterator Iter;
67 typedef MachineBasicBlock::reverse_iterator ReverseIter;
68 typedef SmallDenseMap<MachineBasicBlock*, MachineInstr*, 2> BB2BrMap;
83 void addLiveOut(const MachineBasicBlock &MBB,
84 const MachineBasicBlock &SuccBB);
198 bool runOnMachineBasicBlock(MachineBasicBlock &MBB);
200 Iter replaceWithCompactBranch(MachineBasicBlock &MBB,
203 Iter replaceWithCompactJump(MachineBasicBlock &MBB,
215 bool searchRange(MachineBasicBlock &MBB, IterTy Begin, IterTy End,
221 bool searchBackward(MachineBasicBlock &MBB, Iter Slot) const;
225 bool searchForward(MachineBasicBlock &MBB, Iter Slot) const;
230 bool searchSuccBBs(MachineBasicBlock &MBB, Iter Slot) const;
234 MachineBasicBlock *selectSuccBB(MachineBasicBlock &B) const;
239 getBranch(MachineBasicBlock &MBB, const MachineBasicBlock &Dst) const;
243 bool examinePred(MachineBasicBlock &Pred, const MachineBasicBlock &Succ,
275 static void addLiveInRegs(Iter Filler, MachineBasicBlock &MBB) {
345 void RegDefsUses::addLiveOut(const MachineBasicBlock &MBB,
346 const MachineBasicBlock &SuccBB) {
347 for (MachineBasicBlock::const_succ_iterator SI = MBB.succ_begin(),
350 for (MachineBasicBlock::livein_iterator LI = (*SI)->livein_begin(),
501 MachineBasicBlock &MBB,
524 Iter Filler::replaceWithCompactJump(MachineBasicBlock &MBB,
562 bool Filler::runOnMachineBasicBlock(MachineBasicBlock &MBB) {
591 MachineBasicBlock::instr_iterator DSI(I);
643 bool Filler::searchRange(MachineBasicBlock &MBB, IterTy Begin, IterTy End,
688 bool Filler::searchBackward(MachineBasicBlock &MBB, Iter Slot) const {
708 bool Filler::searchForward(MachineBasicBlock &MBB, Iter Slot) const {
728 bool Filler::searchSuccBBs(MachineBasicBlock &MBB, Iter Slot) const {
732 MachineBasicBlock *SuccBB = selectSuccBB(MBB);
744 for (MachineBasicBlock::pred_iterator PI = SuccBB->pred_begin(),
773 MachineBasicBlock *Filler::selectSuccBB(MachineBasicBlock &B) const {
779 MachineBasicBlock *S = *std::max_element(B.succ_begin(), B.succ_end(),
780 [&](const MachineBasicBlock *Dst0,
781 const MachineBasicBlock *Dst1) {
788 Filler::getBranch(MachineBasicBlock &MBB, const MachineBasicBlock &Dst) const {
791 MachineBasicBlock *TrueBB = nullptr, *FalseBB = nullptr;
823 bool Filler::examinePred(MachineBasicBlock &Pred, const MachineBasicBlock &Succ,