| /freebsd-12.1/contrib/llvm/lib/CodeGen/ |
| H A D | TailDuplicator.cpp | 109 if (PHIBB == PredBB) { in VerifyPHIs() 377 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction() 382 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction() 756 TII->removeBranch(*PredBB); in duplicateSimpleBB() 768 TDBBs.push_back(PredBB); in duplicateSimpleBB() 776 if (PredBB->succ_size() > 1) in canTailDuplicate() 818 assert(TailBB != PredBB && in tailDuplicate() 828 else if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough()) in tailDuplicate() 836 TDBBs.push_back(PredBB); in tailDuplicate() 839 TII->removeBranch(*PredBB); in tailDuplicate() [all …]
|
| H A D | MachineDominators.cpp | 109 for (MachineBasicBlock *PredBB : Succ->predecessors()) { in applySplitCriticalEdges() 110 if (PredBB == Edge.NewBB) in applySplitCriticalEdges() 124 if (NewBBs.count(PredBB)) { in applySplitCriticalEdges() 125 assert(PredBB->pred_size() == 1 && "A basic block resulting from a " in applySplitCriticalEdges() 128 PredBB = *PredBB->pred_begin(); in applySplitCriticalEdges() 130 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges()
|
| H A D | BranchFolding.cpp | 662 if ((MBB1 == PredBB || MBB2 == PredBB) && in ProfitableToMerge() 710 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge() 745 SuccBB, PredBB, in ComputeSameTails() 774 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash() 828 if (PredBB == MBB) in CreateCommonTailOnlyBlock() 829 PredBB = newMBB; in CreateCommonTailOnlyBlock() 967 if (PredBB) in TryTailMergeBlocks() 1020 if (MBB == PredBB) { in TryTailMergeBlocks() 1404 if (PredBB->succ_size() == 1) in salvageDebugInfoFromEmptyBlock() 1770 if (PredBB != MBB && !PredBB->canFallThrough() && in OptimizeBlock() [all …]
|
| H A D | BranchFolding.h | 161 MachineBasicBlock* PredBB, 188 MachineBasicBlock *PredBB); 193 MachineBasicBlock* PredBB); 197 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
|
| H A D | MachineSSAUpdater.cpp | 167 MachineBasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local 168 unsigned PredVal = GetValueAtEndOfBlockInternal(PredBB); in GetValueInMiddleOfBlock() 169 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
|
| /freebsd-12.1/contrib/llvm/lib/Analysis/ |
| H A D | PHITransAddr.cpp | 145 BasicBlock *PredBB, in PHITranslateSubExpr() argument 170 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr() 208 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 245 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 297 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 318 if (DT && DT->isReachableFromEntry(PredBB)) in PHITranslateValue() 328 if (!DT->dominates(Inst->getParent(), PredBB)) in PHITranslateValue() 342 PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateWithInsertion() argument 348 Addr = InsertPHITranslatedSubExpr(Addr, CurBB, PredBB, DT, NewInsts); in PHITranslateWithInsertion() 367 BasicBlock *PredBB, const DominatorTree &DT, in InsertPHITranslatedSubExpr() argument [all …]
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/ |
| H A D | JumpThreading.cpp | 220 auto *PredBB = IncomingBB; in updatePredecessorProfileMetadata() local 229 SuccBB = PredBB; in updatePredecessorProfileMetadata() 230 PredBB = SinglePredBB; in updatePredecessorProfileMetadata() 1347 BBIt = PredBB->end(); in SimplifyPartiallyRedundantLoad() 1764 PredBBs[0] = PredBB; in ProcessBranchOnPHI() 1940 BasicBlock *PredBB; in ThreadEdge() local 1942 PredBB = PredBBs[0]; in ThreadEdge() 1969 NewBB->moveAfter(PredBB); in ThreadEdge() 1974 BFI->getBlockFreq(PredBB) * BPI->getEdgeProbability(PredBB, BB); in ThreadEdge() 2261 BasicBlock *PredBB; in DuplicateCondBranchOnPHIIntoPred() local [all …]
|
| H A D | SpeculateAroundPHIs.cpp | 563 for (auto *PredBB : PredSet) { in speculatePHIs() local 565 PredBB, ParentBB, in speculatePHIs() 579 SpecPreds.push_back(PredBB); in speculatePHIs() 640 for (auto *PredBB : SpecPreds) in speculatePHIs() local 646 auto *PredBB = SpecPreds[PredIdx]; in speculatePHIs() local 647 assert(PredBB->getSingleSuccessor() == ParentBB && in speculatePHIs() 653 NewI->insertBefore(PredBB->getTerminator()); in speculatePHIs() 764 for (auto *PredBB : PNs[0]->blocks()) { in tryToSpeculatePHIs() local 765 if (!PredSet.insert(PredBB)) in tryToSpeculatePHIs() 774 isa<InvokeInst>(PredBB->getTerminator())) { in tryToSpeculatePHIs() [all …]
|
| H A D | SimpleLoopUnswitch.cpp | 1359 for (BasicBlock *PredBB : predecessors(BB)) { in buildClonedLoops() 1362 if (!UnloopedBlockSet.erase(PredBB)) { in buildClonedLoops() 1364 (BlocksInClonedLoop.count(PredBB) || ExitLoopMap.count(PredBB)) && in buildClonedLoops() 1377 Worklist.push_back(PredBB); in buildClonedLoops() 1759 for (BasicBlock *PredBB : predecessors(BB)) { in rebuildLoopAfterUnswitch() 1762 if (!UnloopedBlocks.erase(PredBB)) { in rebuildLoopAfterUnswitch() 1763 assert((NewExitLoopBlocks.count(PredBB) || in rebuildLoopAfterUnswitch() 1764 ExitL.contains(LI.getLoopFor(PredBB))) && in rebuildLoopAfterUnswitch() 1777 Worklist.push_back(PredBB); in rebuildLoopAfterUnswitch() 1979 return PredBB == ParentBB || DT.dominates(SuccBB, PredBB); in unswitchNontrivialInvariants() [all …]
|
| H A D | ADCE.cpp | 454 for (auto *PredBB : predecessors(Info.BB)) { in markPhiLive() local 455 auto &Info = BlockInfo[PredBB]; in markPhiLive() 458 NewLiveBlocks.insert(PredBB); in markPhiLive()
|
| /freebsd-12.1/contrib/llvm/include/llvm/Analysis/ |
| H A D | PHITransAddr.h | 82 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 92 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 104 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 113 BasicBlock *PredBB, const DominatorTree &DT,
|
| H A D | LoopInfoImpl.h | 445 BlockT *PredBB = ReverseCFGWorklist.back(); in discoverAndMapSubloop() local 448 LoopT *Subloop = LI->getLoopFor(PredBB); in discoverAndMapSubloop() 450 if (!DomTree.isReachableFromEntry(PredBB)) in discoverAndMapSubloop() 454 LI->changeLoopFor(PredBB, L); in discoverAndMapSubloop() 456 if (PredBB == L->getHeader()) in discoverAndMapSubloop() 460 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop() 461 InvBlockTraits::child_end(PredBB)); in discoverAndMapSubloop() 475 PredBB = Subloop->getHeader(); in discoverAndMapSubloop() 480 for (const auto Pred : children<Inverse<BlockT *>>(PredBB)) { in discoverAndMapSubloop()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Utils/ |
| H A D | BasicBlockUtils.cpp | 144 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() local 145 if (!PredBB) return false; in MergeBlockIntoPredecessor() 148 if (PredBB == BB) return false; in MergeBlockIntoPredecessor() 150 if (PredBB->getTerminator()->isExceptionalTerminator()) in MergeBlockIntoPredecessor() 154 if (PredBB->getUniqueSuccessor() != BB) in MergeBlockIntoPredecessor() 178 Updates.push_back({DominatorTree::Delete, PredBB, BB}); in MergeBlockIntoPredecessor() 189 PredBB->getInstList().pop_back(); in MergeBlockIntoPredecessor() 193 BB->replaceAllUsesWith(PredBB); in MergeBlockIntoPredecessor() 196 PredBB->getInstList().splice(PredBB->end(), BB->getInstList()); in MergeBlockIntoPredecessor() 215 if (!PredBB->hasName()) in MergeBlockIntoPredecessor() [all …]
|
| H A D | SSAUpdater.cpp | 116 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); in GetValueInMiddleOfBlock() local 117 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 118 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock() 129 BasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local 130 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 131 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
|
| H A D | Local.cpp | 687 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred() local 700 for (auto I = pred_begin(PredBB), E = pred_end(PredBB); I != E; ++I) { in MergeBasicBlockIntoOnlyPred() 720 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred() 723 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred() 725 new UnreachableInst(PredBB->getContext(), PredBB); in MergeBasicBlockIntoOnlyPred() 730 DestBB->moveAfter(PredBB); in MergeBasicBlockIntoOnlyPred() 733 assert(PredBB->getInstList().size() == 1 && in MergeBasicBlockIntoOnlyPred() 738 DTU->deleteBB(PredBB); in MergeBasicBlockIntoOnlyPred() 936 PN->addIncoming(Selected, PredBB); in redirectValuesFromPredecessorsToPhi() 942 BasicBlock *PredBB = BBPreds[i]; in redirectValuesFromPredecessorsToPhi() local [all …]
|
| H A D | BreakCriticalEdges.cpp | 320 BasicBlock *PredBB = PN->getIncomingBlock(Pred); in findIBRPredecessor() local 321 Instruction *PredTerm = PredBB->getTerminator(); in findIBRPredecessor() 326 IBB = PredBB; in findIBRPredecessor() 330 OtherPreds.push_back(PredBB); in findIBRPredecessor()
|
| H A D | CloneFunction.cpp | 800 BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, in DuplicateInstructionsInSplitBetween() argument 803 assert(count(successors(PredBB), BB) == 1 && in DuplicateInstructionsInSplitBetween() 810 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB); in DuplicateInstructionsInSplitBetween() 812 BasicBlock *NewBB = SplitEdge(PredBB, BB); in DuplicateInstructionsInSplitBetween() 813 NewBB->setName(PredBB->getName() + ".split"); in DuplicateInstructionsInSplitBetween() 818 DTU.applyUpdates({{DominatorTree::Delete, PredBB, BB}, in DuplicateInstructionsInSplitBetween() 819 {DominatorTree::Insert, PredBB, NewBB}, in DuplicateInstructionsInSplitBetween()
|
| /freebsd-12.1/contrib/llvm/lib/Target/XCore/ |
| H A D | XCoreLowerThreadLocal.cpp | 139 BasicBlock *PredBB = PN->getIncomingBlock(I); in replaceConstantExprOp() local 140 if (PredBB->getTerminator()->getNumSuccessors() > 1) in replaceConstantExprOp() 141 PredBB = SplitEdge(PredBB, PN->getParent()); in replaceConstantExprOp() 142 Instruction *InsertPos = PredBB->getTerminator(); in replaceConstantExprOp()
|
| /freebsd-12.1/contrib/llvm/include/llvm/CodeGen/ |
| H A D | TailDuplicator.h | 76 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB); 96 MachineBasicBlock *PredBB, 101 MachineBasicBlock *PredBB,
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/ObjCARC/ |
| H A D | DependencyAnalysis.cpp | 245 BasicBlock *PredBB = *PI; in FindDependencies() local 246 if (Visited.insert(PredBB).second) in FindDependencies() 247 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); in FindDependencies()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/IPO/ |
| H A D | HotColdSplitting.cpp | 357 BasicBlock &PredBB = **PredIt; in create() local 358 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create() 362 if (SinkPostDom && pred_empty(&PredBB)) { in create() 369 if (!SinkPostDom || !mayExtractBlock(PredBB)) { in create() 377 unsigned PredScore = getEntryPointScore(PredBB, PredIt.getPathLength()); in create() 379 ColdRegion.SuggestedEntryPoint = &PredBB; in create() 383 addBlockToRegion(&PredBB, PredScore); in create()
|
| H A D | BlockExtractor.cpp | 104 for (auto PredBB : predecessors(LPad)) { in splitLandingPadPreds() local 105 if (PredBB->isLandingPad() && PredBB != Parent && in splitLandingPadPreds()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlan.cpp | 127 BasicBlock *PredBB = CFG.VPBB2IRBB[PredVPBB]; in createEmptyBasicBlock() local 135 if (!PredBB) { in createEmptyBasicBlock() 142 assert(PredBB && "Predecessor basic-block not found building successor."); in createEmptyBasicBlock() 143 auto *PredBBTerminator = PredBB->getTerminator(); in createEmptyBasicBlock() 144 LLVM_DEBUG(dbgs() << "LV: draw edge from" << PredBB->getName() << '\n'); in createEmptyBasicBlock() 149 BranchInst::Create(NewBB, PredBB); in createEmptyBasicBlock()
|
| /freebsd-12.1/contrib/llvm/lib/Target/PowerPC/ |
| H A D | PPCLoopPreIncPrep.cpp | 198 BasicBlock *PredBB = L->getLoopPredecessor(); in alreadyPrepared() local 201 if (!PredBB || !LatchBB) in alreadyPrepared() 227 CurrentPHINode->getIncomingBlock(1) == PredBB) || in alreadyPrepared() 229 CurrentPHINode->getIncomingBlock(0) == PredBB) ) { in alreadyPrepared()
|
| /freebsd-12.1/contrib/llvm/lib/IR/ |
| H A D | BasicBlock.cpp | 250 const BasicBlock *PredBB = *PI; in getUniquePredecessor() local 253 if (*PI != PredBB) in getUniquePredecessor() 258 return PredBB; in getUniquePredecessor()
|