Lines Matching refs:PredBB

111       for (MachineBasicBlock *PredBB : Preds) {  in VerifyPHIs()
115 if (PHIBB == PredBB) { in VerifyPHIs()
124 << printMBBReference(*PredBB) << '\n'; in VerifyPHIs()
353 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument
358 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in processPHI()
370 addSSAUpdateEntry(DefReg, NewDef, PredBB); in processPHI()
385 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument
390 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction()
395 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction()
410 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction()
451 BuildMI(*PredBB, NewMI, NewMI.getDebugLoc(), in duplicateInstruction()
707 for (MachineBasicBlock *PredBB : BB.predecessors()) { in canCompletelyDuplicateBB()
708 if (PredBB->succ_size() > 1) in canCompletelyDuplicateBB()
713 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in canCompletelyDuplicateBB()
730 for (MachineBasicBlock *PredBB : Preds) { in duplicateSimpleBB()
731 if (PredBB->hasEHPadSuccessor() || PredBB->mayHaveInlineAsmBr()) in duplicateSimpleBB()
734 if (bothUsedInPHI(*PredBB, Succs)) in duplicateSimpleBB()
739 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in duplicateSimpleBB()
743 LLVM_DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB in duplicateSimpleBB()
747 MachineBasicBlock *NextBB = PredBB->getNextNode(); in duplicateSimpleBB()
777 auto DL = PredBB->findBranchDebugLoc(); in duplicateSimpleBB()
778 TII->removeBranch(*PredBB); in duplicateSimpleBB()
780 if (!PredBB->isSuccessor(NewTarget)) in duplicateSimpleBB()
781 PredBB->replaceSuccessor(TailBB, NewTarget); in duplicateSimpleBB()
783 PredBB->removeSuccessor(TailBB, true); in duplicateSimpleBB()
784 assert(PredBB->succ_size() <= 1); in duplicateSimpleBB()
788 TII->insertBranch(*PredBB, PredTBB, PredFBB, PredCond, DL); in duplicateSimpleBB()
790 TDBBs.push_back(PredBB); in duplicateSimpleBB()
796 MachineBasicBlock *PredBB) { in canTailDuplicate() argument
798 if (PredBB->succ_size() > 1) in canTailDuplicate()
803 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in canTailDuplicate()
846 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
847 assert(TailBB != PredBB && in tailDuplicate()
850 if (!canTailDuplicate(TailBB, PredBB)) in tailDuplicate()
859 IsLayoutSuccessor = (ForcedLayoutPred == PredBB); in tailDuplicate()
860 else if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough()) in tailDuplicate()
866 LLVM_DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB in tailDuplicate()
869 TDBBs.push_back(PredBB); in tailDuplicate()
872 TII->removeBranch(*PredBB); in tailDuplicate()
884 processPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, true); in tailDuplicate()
888 duplicateInstruction(MI, TailBB, PredBB, LocalVRMap, UsedByPhi); in tailDuplicate()
891 appendCopies(PredBB, CopyInfos, Copies); in tailDuplicate()
896 PredBB->removeSuccessor(PredBB->succ_begin()); in tailDuplicate()
897 assert(PredBB->succ_empty() && in tailDuplicate()
900 PredBB->addSuccessor(Succ, MBPI->getEdgeProbability(TailBB, Succ)); in tailDuplicate()
904 PredBB->updateTerminator(TailBB->getNextNode()); in tailDuplicate()
995 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
996 if (is_contained(TDBBs, PredBB)) in tailDuplicate()
1000 if (PredBB->succ_size() != 1) in tailDuplicate()
1011 processPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, false); in tailDuplicate()
1013 appendCopies(PredBB, CopyInfos, Copies); in tailDuplicate()