Lines Matching refs:PredBB
108 for (MachineBasicBlock *PredBB : Preds) { in VerifyPHIs()
112 if (PHIBB == PredBB) { in VerifyPHIs()
121 << printMBBReference(*PredBB) << '\n'; in VerifyPHIs()
348 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument
353 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in processPHI()
365 addSSAUpdateEntry(DefReg, NewDef, PredBB); in processPHI()
380 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument
385 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction()
391 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction()
406 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction()
447 BuildMI(*PredBB, NewMI, NewMI.getDebugLoc(), in duplicateInstruction()
702 for (MachineBasicBlock *PredBB : BB.predecessors()) { in canCompletelyDuplicateBB()
703 if (PredBB->succ_size() > 1) in canCompletelyDuplicateBB()
708 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in canCompletelyDuplicateBB()
725 for (MachineBasicBlock *PredBB : Preds) { in duplicateSimpleBB()
726 if (PredBB->hasEHPadSuccessor() || PredBB->mayHaveInlineAsmBr()) in duplicateSimpleBB()
729 if (bothUsedInPHI(*PredBB, Succs)) in duplicateSimpleBB()
734 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in duplicateSimpleBB()
738 LLVM_DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB in duplicateSimpleBB()
742 MachineBasicBlock *NextBB = PredBB->getNextNode(); in duplicateSimpleBB()
772 auto DL = PredBB->findBranchDebugLoc(); in duplicateSimpleBB()
773 TII->removeBranch(*PredBB); in duplicateSimpleBB()
775 if (!PredBB->isSuccessor(NewTarget)) in duplicateSimpleBB()
776 PredBB->replaceSuccessor(TailBB, NewTarget); in duplicateSimpleBB()
778 PredBB->removeSuccessor(TailBB, true); in duplicateSimpleBB()
779 assert(PredBB->succ_size() <= 1); in duplicateSimpleBB()
783 TII->insertBranch(*PredBB, PredTBB, PredFBB, PredCond, DL); in duplicateSimpleBB()
785 TDBBs.push_back(PredBB); in duplicateSimpleBB()
791 MachineBasicBlock *PredBB) { in canTailDuplicate() argument
793 if (PredBB->succ_size() > 1) in canTailDuplicate()
798 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in canTailDuplicate()
841 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
842 assert(TailBB != PredBB && in tailDuplicate()
845 if (!canTailDuplicate(TailBB, PredBB)) in tailDuplicate()
854 IsLayoutSuccessor = (ForcedLayoutPred == PredBB); in tailDuplicate()
855 else if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough()) in tailDuplicate()
861 LLVM_DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB in tailDuplicate()
864 TDBBs.push_back(PredBB); in tailDuplicate()
867 TII->removeBranch(*PredBB); in tailDuplicate()
876 processPHI(&MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, true); in tailDuplicate()
880 duplicateInstruction(&MI, TailBB, PredBB, LocalVRMap, UsedByPhi); in tailDuplicate()
883 appendCopies(PredBB, CopyInfos, Copies); in tailDuplicate()
888 PredBB->removeSuccessor(PredBB->succ_begin()); in tailDuplicate()
889 assert(PredBB->succ_empty() && in tailDuplicate()
892 PredBB->addSuccessor(Succ, MBPI->getEdgeProbability(TailBB, Succ)); in tailDuplicate()
896 PredBB->updateTerminator(TailBB->getNextNode()); in tailDuplicate()
999 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
1000 if (is_contained(TDBBs, PredBB)) in tailDuplicate()
1004 if (PredBB->succ_size() != 1) in tailDuplicate()
1015 processPHI(MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, false); in tailDuplicate()
1017 appendCopies(PredBB, CopyInfos, Copies); in tailDuplicate()