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()
382 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument
387 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction()
393 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction()
408 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction()
452 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()
729 for (MachineBasicBlock *PredBB : Preds) { in duplicateSimpleBB()
730 if (PredBB->hasEHPadSuccessor() || PredBB->mayHaveInlineAsmBr()) in duplicateSimpleBB()
733 if (bothUsedInPHI(*PredBB, Succs)) in duplicateSimpleBB()
738 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in duplicateSimpleBB()
742 LLVM_DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB in duplicateSimpleBB()
746 MachineBasicBlock *NextBB = PredBB->getNextNode(); in duplicateSimpleBB()
776 auto DL = PredBB->findBranchDebugLoc(); in duplicateSimpleBB()
777 TII->removeBranch(*PredBB); in duplicateSimpleBB()
779 if (!PredBB->isSuccessor(NewTarget)) in duplicateSimpleBB()
780 PredBB->replaceSuccessor(TailBB, NewTarget); in duplicateSimpleBB()
782 PredBB->removeSuccessor(TailBB, true); in duplicateSimpleBB()
783 assert(PredBB->succ_size() <= 1); in duplicateSimpleBB()
787 TII->insertBranch(*PredBB, PredTBB, PredFBB, PredCond, DL); in duplicateSimpleBB()
789 TDBBs.push_back(PredBB); in duplicateSimpleBB()
795 MachineBasicBlock *PredBB) { in canTailDuplicate() argument
797 if (PredBB->succ_size() > 1) in canTailDuplicate()
802 if (TII->analyzeBranch(*PredBB, PredTBB, PredFBB, PredCond)) in canTailDuplicate()
854 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
855 assert(TailBB != PredBB && in tailDuplicate()
858 if (!canTailDuplicate(TailBB, PredBB)) in tailDuplicate()
867 IsLayoutSuccessor = (ForcedLayoutPred == PredBB); in tailDuplicate()
868 else if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough()) in tailDuplicate()
874 LLVM_DEBUG(dbgs() << "\nTail-duplicating into PredBB: " << *PredBB in tailDuplicate()
877 TDBBs.push_back(PredBB); in tailDuplicate()
880 TII->removeBranch(*PredBB); in tailDuplicate()
889 processPHI(&MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, true); in tailDuplicate()
893 duplicateInstruction(&MI, TailBB, PredBB, LocalVRMap, UsedByPhi); in tailDuplicate()
896 appendCopies(PredBB, CopyInfos, Copies); in tailDuplicate()
901 PredBB->removeSuccessor(PredBB->succ_begin()); in tailDuplicate()
902 assert(PredBB->succ_empty() && in tailDuplicate()
905 PredBB->addSuccessor(Succ, MBPI->getEdgeProbability(TailBB, Succ)); in tailDuplicate()
909 PredBB->updateTerminator(TailBB->getNextNode()); in tailDuplicate()
1012 for (MachineBasicBlock *PredBB : Preds) { in tailDuplicate()
1013 if (is_contained(TDBBs, PredBB)) in tailDuplicate()
1017 if (PredBB->succ_size() != 1) in tailDuplicate()
1026 processPHI(&MI, TailBB, PredBB, LocalVRMap, CopyInfos, UsedByPhi, false); in tailDuplicate()
1028 appendCopies(PredBB, CopyInfos, Copies); in tailDuplicate()