Lines Matching refs:PredBB

92                     MachineBasicBlock *PredBB,
99 MachineBasicBlock *PredBB,
173 MachineBasicBlock *PredBB = *PI;
177 if (PHIBB == PredBB) {
185 << PredBB->getNumber() << '\n';
392 /// Process PHI node in TailBB by turning it into a copy in PredBB. Remember the
393 /// source register that's contributed by PredBB and update SSA update map.
395 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB,
400 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB);
411 AddSSAUpdateEntry(DefReg, NewDef, PredBB);
416 // Remove PredBB from the PHI node.
423 /// Duplicate a TailBB instruction to PredBB and update
427 MachineBasicBlock *PredBB,
445 AddSSAUpdateEntry(Reg, NewReg, PredBB);
457 PredBB->insert(PredBB->instr_end(), NewMI);
668 for (MachineBasicBlock *PredBB : BB.predecessors()) {
669 if (PredBB->succ_size() > 1)
674 if (TII->AnalyzeBranch(*PredBB, PredTBB, PredFBB, PredCond, true))
695 MachineBasicBlock *PredBB = *PI;
697 if (PredBB->hasEHPadSuccessor())
700 if (bothUsedInPHI(*PredBB, Succs))
705 if (TII->AnalyzeBranch(*PredBB, PredTBB, PredFBB, PredCond, true))
709 DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB
713 MachineBasicBlock *NextBB = &*std::next(PredBB->getIterator());
743 TII->RemoveBranch(*PredBB);
746 TII->InsertBranch(*PredBB, PredTBB, PredFBB, PredCond, DebugLoc());
748 if (!PredBB->isSuccessor(NewTarget))
749 PredBB->replaceSuccessor(TailBB, NewTarget);
751 PredBB->removeSuccessor(TailBB, true);
752 assert(PredBB->succ_size() <= 1);
755 TDBBs.push_back(PredBB);
784 MachineBasicBlock *PredBB = *PI;
786 assert(TailBB != PredBB &&
789 if (PredBB->succ_size() > 1)
794 if (TII->AnalyzeBranch(*PredBB, PredTBB, PredFBB, PredCond, true))
799 if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough())
802 DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB
805 TDBBs.push_back(PredBB);
807 // Remove PredBB's unconditional branch.
808 TII->RemoveBranch(*PredBB);
811 // Update PredBB livein.
812 RS->enterBasicBlock(PredBB);
813 if (!PredBB->empty())
814 RS->forward(std::prev(PredBB->end()));
820 PredBB->addLiveIn(LI);
824 // Clone the contents of TailBB into PredBB.
835 // from PredBB.
836 ProcessPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, true);
840 DuplicateInstruction(MI, TailBB, PredBB, MF, LocalVRMap, UsedByPhi);
843 MachineBasicBlock::iterator Loc = PredBB->getFirstTerminator();
845 Copies.push_back(BuildMI(*PredBB, Loc, DebugLoc(),
851 TII->AnalyzeBranch(*PredBB, PredTBB, PredFBB, PredCond, true);
856 PredBB->removeSuccessor(PredBB->succ_begin());
857 assert(PredBB->succ_empty() &&
861 PredBB->addSuccessor(*I, MBPI->getEdgeProbability(TailBB, I));
888 // from PredBB.
947 MachineBasicBlock *PredBB = *PI;
948 if (std::find(TDBBs.begin(), TDBBs.end(), PredBB) != TDBBs.end())
952 if (PredBB->succ_size() != 1)
961 // from PredBB.
963 ProcessPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, false);
965 MachineBasicBlock::iterator Loc = PredBB->getFirstTerminator();
967 Copies.push_back(BuildMI(*PredBB, Loc, DebugLoc(),