Home
last modified time | relevance | path

Searched refs:PredBB (Results 1 – 25 of 49) sorted by relevance

12

/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DTailDuplicator.cpp109 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 DMachineDominators.cpp109 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 DBranchFolding.cpp662 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 DBranchFolding.h161 MachineBasicBlock* PredBB,
188 MachineBasicBlock *PredBB);
193 MachineBasicBlock* PredBB);
197 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
H A DMachineSSAUpdater.cpp167 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 DPHITransAddr.cpp145 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 DJumpThreading.cpp220 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 DSpeculateAroundPHIs.cpp563 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 DSimpleLoopUnswitch.cpp1359 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 DADCE.cpp454 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 DPHITransAddr.h82 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 DLoopInfoImpl.h445 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 DBasicBlockUtils.cpp144 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 DSSAUpdater.cpp116 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 DLocal.cpp687 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 DBreakCriticalEdges.cpp320 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 DCloneFunction.cpp800 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 DXCoreLowerThreadLocal.cpp139 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 DTailDuplicator.h76 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
96 MachineBasicBlock *PredBB,
101 MachineBasicBlock *PredBB,
/freebsd-12.1/contrib/llvm/lib/Transforms/ObjCARC/
H A DDependencyAnalysis.cpp245 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 DHotColdSplitting.cpp357 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 DBlockExtractor.cpp104 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 DVPlan.cpp127 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 DPPCLoopPreIncPrep.cpp198 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 DBasicBlock.cpp250 const BasicBlock *PredBB = *PI; in getUniquePredecessor() local
253 if (*PI != PredBB) in getUniquePredecessor()
258 return PredBB; in getUniquePredecessor()

12