Home
last modified time | relevance | path

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

123

/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/
H A DTailDuplicator.cpp115 if (PHIBB == PredBB) { in VerifyPHIs()
390 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction()
395 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction()
731 if (PredBB->hasEHPadSuccessor() || PredBB->mayHaveInlineAsmBr()) in duplicateSimpleBB()
778 TII->removeBranch(*PredBB); in duplicateSimpleBB()
790 TDBBs.push_back(PredBB); in duplicateSimpleBB()
798 if (PredBB->succ_size() > 1) in canTailDuplicate()
847 assert(TailBB != PredBB && in tailDuplicate()
860 else if (PredBB->isLayoutSuccessor(TailBB) && PredBB->canFallThrough()) in tailDuplicate()
869 TDBBs.push_back(PredBB); in tailDuplicate()
[all …]
H A DMachineDominators.cpp106 for (MachineBasicBlock *PredBB : Succ->predecessors()) { in applySplitCriticalEdges()
107 if (PredBB == Edge.NewBB) in applySplitCriticalEdges()
121 if (NewBBs.count(PredBB)) { in applySplitCriticalEdges()
122 assert(PredBB->pred_size() == 1 && "A basic block resulting from a " in applySplitCriticalEdges()
125 PredBB = *PredBB->pred_begin(); in applySplitCriticalEdges()
127 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges()
H A DBranchFolding.cpp582 if ((MBB1 == PredBB || MBB2 == PredBB) && in ProfitableToMerge()
630 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge()
669 SuccBB, PredBB, in ComputeSameTails()
698 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash()
752 if (PredBB == MBB) in CreateCommonTailOnlyBlock()
753 PredBB = newMBB; in CreateCommonTailOnlyBlock()
891 if (PredBB) in TryTailMergeBlocks()
946 if (MBB == PredBB) { in TryTailMergeBlocks()
1308 if (PredBB->succ_size() == 1) in salvageDebugInfoFromEmptyBlock()
1671 if (PredBB != MBB && !PredBB->canFallThrough() && in OptimizeBlock()
[all …]
H A DBranchFolding.h136 MachineBasicBlock* PredBB,
163 MachineBasicBlock *PredBB);
168 MachineBasicBlock* PredBB);
172 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
H A DMachineSSAUpdater.cpp167 for (MachineBasicBlock *PredBB : BB->predecessors()) { in GetValueInMiddleOfBlock()
168 Register PredVal = GetValueAtEndOfBlockInternal(PredBB); in GetValueInMiddleOfBlock()
169 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DPHITransAddr.cpp144 BasicBlock *PredBB, in PHITranslateSubExpr() argument
169 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr()
207 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr()
244 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr()
296 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr()
317 if (DT && DT->isReachableFromEntry(PredBB)) in PHITranslateValue()
327 if (!DT->dominates(Inst->getParent(), PredBB)) in PHITranslateValue()
341 PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateWithInsertion() argument
347 Addr = InsertPHITranslatedSubExpr(Addr, CurBB, PredBB, DT, NewInsts); in PHITranslateWithInsertion()
366 BasicBlock *PredBB, const DominatorTree &DT, in InsertPHITranslatedSubExpr() argument
[all …]
H A DLoopNestAnalysis.cpp224 const BasicBlock *PredBB = From; in skipEmptyBlockUntil() local
228 PredBB = BB; in skipEmptyBlockUntil()
232 return (BB == End) ? *End : *PredBB; in skipEmptyBlockUntil()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DJumpThreading.cpp259 SuccBB = PredBB; in updatePredecessorProfileMetadata()
2086 NewPN->addIncoming(PN->getIncomingValueForBlock(PredBB), PredBB); in cloneInstructions()
2147 if (!PredBB) in maybethreadThroughTwoBasicBlocks()
2171 if (llvm::is_contained(successors(PredBB), PredBB)) in maybethreadThroughTwoBasicBlocks()
2241 PredBB, PredBB->getTerminator(), BBDupThreshold); in maybethreadThroughTwoBasicBlocks()
2270 BasicBlock::Create(PredBB->getContext(), PredBB->getName() + ".thread", in threadThroughTwoBasicBlocks()
2271 PredBB->getParent(), PredBB); in threadThroughTwoBasicBlocks()
2285 cloneInstructions(PredBB->begin(), PredBB->end(), NewBB, PredPredBB); in threadThroughTwoBasicBlocks()
2373 BasicBlock *PredBB; in threadEdge() local
2397 BFI->getBlockFreq(PredBB) * BPI->getEdgeProbability(PredBB, BB); in threadEdge()
[all …]
H A DDivRemPairs.cpp242 BasicBlock *PredBB = nullptr; in optimizeDivRem() local
271 PredBB = RemBB->getUniquePredecessor(); in optimizeDivRem()
273 if (PredBB && IsSafeToHoist(RemInst, RemBB) && in optimizeDivRem()
275 all_of(successors(PredBB), in optimizeDivRem()
278 [&](BasicBlock *BB) { return BB == RemBB || BB == PredBB; })) { in optimizeDivRem()
280 DivInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
283 RemInst->moveBefore(PredBB->getTerminator()); in optimizeDivRem()
H A DSimpleLoopUnswitch.cpp1497 for (BasicBlock *PredBB : predecessors(BB)) { in buildClonedLoops()
1500 if (!UnloopedBlockSet.erase(PredBB)) { in buildClonedLoops()
1502 (BlocksInClonedLoop.count(PredBB) || ExitLoopMap.count(PredBB)) && in buildClonedLoops()
1515 Worklist.push_back(PredBB); in buildClonedLoops()
1904 for (BasicBlock *PredBB : predecessors(BB)) { in rebuildLoopAfterUnswitch()
1907 if (!UnloopedBlocks.erase(PredBB)) { in rebuildLoopAfterUnswitch()
1908 assert((NewExitLoopBlocks.count(PredBB) || in rebuildLoopAfterUnswitch()
1909 ExitL.contains(LI.getLoopFor(PredBB))) && in rebuildLoopAfterUnswitch()
1922 Worklist.push_back(PredBB); in rebuildLoopAfterUnswitch()
2136 return PredBB == ParentBB || DT.dominates(SuccBB, PredBB); in unswitchNontrivialInvariants()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DPHITransAddr.h81 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB,
91 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB,
103 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB,
112 BasicBlock *PredBB, const DominatorTree &DT,
H A DLoopInfoImpl.h439 BlockT *PredBB = ReverseCFGWorklist.back(); in discoverAndMapSubloop() local
442 LoopT *Subloop = LI->getLoopFor(PredBB); in discoverAndMapSubloop()
444 if (!DomTree.isReachableFromEntry(PredBB)) in discoverAndMapSubloop()
448 LI->changeLoopFor(PredBB, L); in discoverAndMapSubloop()
450 if (PredBB == L->getHeader()) in discoverAndMapSubloop()
454 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop()
455 InvBlockTraits::child_end(PredBB)); in discoverAndMapSubloop()
469 PredBB = Subloop->getHeader(); in discoverAndMapSubloop()
474 for (const auto Pred : children<Inverse<BlockT *>>(PredBB)) { in discoverAndMapSubloop()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/XCore/
H A DXCoreLowerThreadLocal.cpp89 BasicBlock *PredBB = PN->getIncomingBlock(I); in replaceConstantExprOp() local
90 if (PredBB->getTerminator()->getNumSuccessors() > 1) in replaceConstantExprOp()
91 PredBB = SplitEdge(PredBB, PN->getParent()); in replaceConstantExprOp()
92 Instruction *InsertPos = PredBB->getTerminator(); in replaceConstantExprOp()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanPredicator.cpp37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB, in getOrCreateNotPredicate() argument
39 VPValue *CBV = PredBB->getCondBit(); in getOrCreateNotPredicate()
43 EdgeType ET = getEdgeTypeBetween(PredBB, CurrBB); in getOrCreateNotPredicate()
58 VPValue *BP = PredBB->getPredicate(); in getOrCreateNotPredicate()
H A DVPlanPredicator.h50 VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DTailDuplicator.h82 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
104 MachineBasicBlock *PredBB,
109 MachineBasicBlock *PredBB,
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/ObjCARC/
H A DDependencyAnalysis.cpp234 BasicBlock *PredBB = *PI; in findDependencies() local
235 if (Visited.insert(PredBB).second) in findDependencies()
236 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); in findDependencies()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSSAUpdater.cpp114 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); in GetValueInMiddleOfBlock() local
115 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock()
116 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
126 for (BasicBlock *PredBB : predecessors(BB)) { in GetValueInMiddleOfBlock()
127 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock()
128 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
H A DBasicBlockUtils.cpp181 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() local
182 if (!PredBB) return false; in MergeBlockIntoPredecessor()
185 if (PredBB == BB) return false; in MergeBlockIntoPredecessor()
215 << PredBB->getName() << "\n"); in MergeBlockIntoPredecessor()
250 Instruction *PTI = PredBB->getTerminator(); in MergeBlockIntoPredecessor()
263 MSSAU->moveAllAfterMergeBlocks(BB, PredBB, Start); in MergeBlockIntoPredecessor()
267 BB->replaceAllUsesWith(PredBB); in MergeBlockIntoPredecessor()
277 PredBB->getInstList().pop_back(); in MergeBlockIntoPredecessor()
280 PredBB->getInstList().splice(PredBB->end(), BB->getInstList()); in MergeBlockIntoPredecessor()
292 if (!PredBB->hasName()) in MergeBlockIntoPredecessor()
[all …]
H A DLocal.cpp756 bool ReplaceEntryBB = PredBB->isEntryBlock(); in MergeBasicBlockIntoOnlyPred()
768 if (PredOfPredBB != PredBB) in MergeBasicBlockIntoOnlyPred()
787 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred()
790 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred()
792 new UnreachableInst(PredBB->getContext(), PredBB); in MergeBasicBlockIntoOnlyPred()
797 DestBB->moveAfter(PredBB); in MergeBasicBlockIntoOnlyPred()
800 assert(PredBB->getInstList().size() == 1 && in MergeBasicBlockIntoOnlyPred()
805 DTU->deleteBB(PredBB); in MergeBasicBlockIntoOnlyPred()
1024 PN->addIncoming(Selected, PredBB); in redirectValuesFromPredecessorsToPhi()
1030 BasicBlock *PredBB = BBPreds[i]; in redirectValuesFromPredecessorsToPhi() local
[all …]
H A DBreakCriticalEdges.cpp331 BasicBlock *PredBB = PN->getIncomingBlock(Pred); in findIBRPredecessor() local
332 Instruction *PredTerm = PredBB->getTerminator(); in findIBRPredecessor()
337 IBB = PredBB; in findIBRPredecessor()
341 OtherPreds.push_back(PredBB); in findIBRPredecessor()
H A DCloneFunction.cpp888 BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, in DuplicateInstructionsInSplitBetween() argument
891 assert(count(successors(PredBB), BB) == 1 && in DuplicateInstructionsInSplitBetween()
898 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB); in DuplicateInstructionsInSplitBetween()
900 BasicBlock *NewBB = SplitEdge(PredBB, BB); in DuplicateInstructionsInSplitBetween()
901 NewBB->setName(PredBB->getName() + ".split"); in DuplicateInstructionsInSplitBetween()
906 DTU.applyUpdates({{DominatorTree::Delete, PredBB, BB}, in DuplicateInstructionsInSplitBetween()
907 {DominatorTree::Insert, PredBB, NewBB}, in DuplicateInstructionsInSplitBetween()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h122 BasicBlock *PredBB);
148 void threadThroughTwoBasicBlocks(BasicBlock *PredPredBB, BasicBlock *PredBB,
172 void updateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB,
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DHotColdSplitting.cpp472 BasicBlock &PredBB = **PredIt; in create() local
473 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create()
477 if (SinkPostDom && pred_empty(&PredBB)) { in create()
484 if (!SinkPostDom || !mayExtractBlock(PredBB)) { in create()
492 unsigned PredScore = getEntryPointScore(PredBB, PredIt.getPathLength()); in create()
494 ColdRegion->SuggestedEntryPoint = &PredBB; in create()
498 addBlockToRegion(&PredBB, PredScore); in create()
H A DBlockExtractor.cpp163 for (auto PredBB : predecessors(LPad)) { in splitLandingPadPreds() local
164 if (PredBB->isLandingPad() && PredBB != Parent && in splitLandingPadPreds()

123