Home
last modified time | relevance | path

Searched refs:Succ (Results 1 – 25 of 221) sorted by relevance

123456789

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineBlockPlacement.cpp494 const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
556 const MachineBasicBlock *BB, const MachineBasicBlock *Succ,
580 const MachineBasicBlock *BB, MachineBasicBlock *Succ,
681 for (MachineBasicBlock *Succ : MBB->successors()) { in markBlockSuccessors()
682 if (BlockFilter && !BlockFilter->count(Succ)) in markBlockSuccessors()
684 BlockChain &SuccChain = *BlockToChain[Succ]; in markBlockSuccessors()
686 if (&Chain == &SuccChain || Succ == LoopHeaderBB) in markBlockSuccessors()
728 for (MachineBasicBlock *Succ : BB->successors()) { in collectViableSuccessors()
730 if (Succ->isEHPad() || (BlockFilter && !BlockFilter->count(Succ))) { in collectViableSuccessors()
733 BlockChain *SuccChain = BlockToChain[Succ]; in collectViableSuccessors()
[all …]
H A DCFIInstrInserter.cpp127 void reportCFAError(const MBBCFAInfo &Pred, const MBBCFAInfo &Succ);
128 void reportCSRError(const MBBCFAInfo &Pred, const MBBCFAInfo &Succ);
287 for (auto *Succ : CurrentInfo.MBB->successors()) { in updateSuccCFAInfo() local
288 MBBCFAInfo &SuccInfo = MBBVector[Succ->getNumber()]; in updateSuccCFAInfo()
293 Stack.push_back(Succ); in updateSuccCFAInfo()
393 const MBBCFAInfo &Succ) { in reportCFAError() argument
402 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCFAError()
403 << " incoming CFA Reg:" << Succ.IncomingCFARegister << "\n"; in reportCFAError()
404 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCFAError()
405 << " incoming CFA Offset:" << Succ.IncomingCFAOffset << "\n"; in reportCFAError()
[all …]
H A DMachineBasicBlock.cpp288 for (const MachineBasicBlock *Succ : successors()) in hasEHPadSuccessor() local
289 if (Succ->isEHPad()) in hasEHPadSuccessor()
305 for (const MachineBasicBlock *Succ : successors()) { in mayHaveInlineAsmBr() local
306 if (Succ->isInlineAsmBrIndirectTarget()) in mayHaveInlineAsmBr()
796 void MachineBasicBlock::addSuccessor(MachineBasicBlock *Succ, in addSuccessor() argument
802 Successors.push_back(Succ); in addSuccessor()
803 Succ->addPredecessor(this); in addSuccessor()
806 void MachineBasicBlock::addSuccessorWithoutProb(MachineBasicBlock *Succ) { in addSuccessorWithoutProb() argument
811 Successors.push_back(Succ); in addSuccessorWithoutProb()
812 Succ->addPredecessor(this); in addSuccessorWithoutProb()
[all …]
H A DMachineTraceMetrics.cpp218 if (!TBI->Succ) { in computeHeightResources()
226 unsigned SuccNum = TBI->Succ->getNumber(); in computeHeightResources()
374 for (const MachineBasicBlock *Succ : MBB->successors()) { in pickTraceSucc() local
376 if (CurLoop && Succ == CurLoop->getHeader()) in pickTraceSucc()
379 if (isExitingLoop(CurLoop, getLoopFor(Succ))) in pickTraceSucc()
382 getHeightResources(Succ); in pickTraceSucc()
389 Best = Succ; in pickTraceSucc()
527 TBI.Succ = pickTraceSucc(I); in computeTrace()
529 if (TBI.Succ) in computeTrace()
530 dbgs() << printMBBReference(*TBI.Succ) << '\n'; in computeTrace()
[all …]
H A DLoopTraversal.cpp45 for (MachineBasicBlock *Succ : ActiveMBB->successors()) { in traverse()
46 unsigned SuccNumber = Succ->getNumber(); in traverse()
49 if (!isBlockDone(Succ)) { in traverse()
54 if (isBlockDone(Succ)) in traverse()
55 Workqueue.push_back(Succ); in traverse()
H A DEdgeBundles.cpp49 for (const MachineBasicBlock *Succ : MBB.successors()) in runOnMachineFunction() local
50 EC.join(OutE, 2 * Succ->getNumber()); in runOnMachineFunction()
88 for (const MachineBasicBlock *Succ : MBB.successors()) in WriteGraph() local
90 << printMBBReference(*Succ) << "\" [ color=lightgray ]\n"; in WriteGraph()
H A DLatencyPriorityQueue.cpp76 for (const SDep &Succ : SU->Succs) in push() local
77 if (getSingleUnscheduledPred(Succ.getSUnit()) == SU) in push()
90 for (const SDep &Succ : SU->Succs) in scheduledNode() local
91 AdjustPriorityOfUnscheduledPreds(Succ.getSUnit()); in scheduledNode()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopSimplifyCFG.cpp191 for (auto *Succ : successors(BB)) in hasIrreducibleCFG() local
192 if (L.contains(Succ) && !LI.isLoopHeader(Succ) && RPO[BB] > RPO[Succ]) in hasIrreducibleCFG()
241 for (BasicBlock *Succ : successors(BB)) in analyze()
242 if (!TakeFoldCandidate || TheOnlySucc == Succ) { in analyze()
243 if (L.contains(Succ)) in analyze()
244 LiveLoopBlocks.insert(Succ); in analyze()
246 LiveExitBlocks.insert(Succ); in analyze()
293 return any_of(successors(BB), [&](BasicBlock *Succ) { in analyze() argument
294 return BlocksInLoopAfterFolding.count(Succ) && IsEdgeLive(BB, Succ); in analyze()
492 for (auto *Succ : successors(BB)) in foldTerminators() local
[all …]
H A DADCE.cpp290 for (auto *Succ : successors(BB)) in initialize() local
291 if (State.onStack(Succ)) { in initialize()
630 for (auto *Succ : successors(BB)) { in updateDeadRegions() local
631 auto *Info = &BlockInfo[Succ]; in updateDeadRegions()
641 for (auto *Succ : successors(BB)) { in updateDeadRegions() local
642 if (!First || Succ != PreferredSucc->BB) { in updateDeadRegions()
643 Succ->removePredecessor(BB); in updateDeadRegions()
644 RemovedSuccessors.insert(Succ); in updateDeadRegions()
651 for (auto *Succ : RemovedSuccessors) { in updateDeadRegions() local
654 if (Succ != PreferredSucc->BB) { in updateDeadRegions()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFixIrreducibleControlFlow.cpp144 for (auto *Succ : MBB->successors()) { in calculate() local
145 if (Succ != Entry && inRegion(Succ)) { in calculate()
146 Reachable[MBB].insert(Succ); in calculate()
147 WorkList.emplace_back(MBB, Succ); in calculate()
153 MachineBasicBlock *MBB, *Succ; in calculate() local
154 std::tie(MBB, Succ) = WorkList.pop_back_val(); in calculate()
155 assert(inRegion(MBB) && Succ != Entry && inRegion(Succ)); in calculate()
160 if (Reachable[Pred].insert(Succ).second) { in calculate()
161 WorkList.emplace_back(Pred, Succ); in calculate()
469 for (auto *Succ : Pred->successors()) { in makeSingleEntryLoop() local
[all …]
H A DWebAssemblyCFGSort.cpp244 for (MachineBasicBlock *Succ : MBB->successors()) { in sortBlocks()
246 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in sortBlocks()
247 if (SuccL->getHeader() == Succ && SuccL->contains(MBB)) in sortBlocks()
250 if (--NumPredsLeft[Succ->getNumber()] == 0) { in sortBlocks()
262 if (EHInfo && EHInfo->hasUnwindSrcs(Succ)) { in sortBlocks()
264 EHInfo->getUnwindSrcs(Succ); in sortBlocks()
268 E.Deferred.push_back(Succ); in sortBlocks()
276 Preferred.push(Succ); in sortBlocks()
H A DWebAssemblyExceptionInfo.cpp72 for (auto *Succ : MBB->successors()) in isReachableAmongDominated() local
73 if (!Visited.count(Succ) && MDT.dominates(Header, Succ)) in isReachableAmongDominated()
74 WL.push_back(Succ); in isReachableAmongDominated()
320 for (auto *Succ : MBB->successors()) in discoverAndMapException() local
321 if (MDT.dominates(EHPad, Succ)) in discoverAndMapException()
322 WL.push_back(Succ); in discoverAndMapException()
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DCoreEngine.cpp105 const CFGBlock *Succ = *(Entry->succ_begin()); in ExecuteWorkList() local
109 BlockEdge StartLoc(Entry, Succ, L); in ExecuteWorkList()
573 ExplodedNode *Succ = G.getNode(Loc, N->getState(), false, &IsNew); in enqueueStmtNode() local
574 Succ->addPredecessor(N, G); in enqueueStmtNode()
577 WList->enqueue(Succ, Block, Idx+1); in enqueueStmtNode()
660 ExplodedNode *Succ = generateNodeImpl(Loc, State, NodePred); in generateNode() local
661 return Succ; in generateNode()
669 ExplodedNode *Succ = in generateNode() local
672 Succ->addPredecessor(Pred, Eng.G); in generateNode()
678 Eng.WList->enqueue(Succ); in generateNode()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DBlockCoverageInference.cpp155 bool HasSuperReachableSucc = llvm::any_of(Succs, [&](auto *Succ) { in findDependencies() argument
156 return ReachableFromEntry.count(Succ) && in findDependencies()
157 ReachableFromTerminal.count(Succ); in findDependencies()
160 for (auto *Succ : Succs) in findDependencies() local
161 if (ReachableFromTerminal.count(Succ)) in findDependencies()
162 SuccessorDependencies[&BB].insert(Succ); in findDependencies()
177 for (auto *Succ : successors(&BB)) { in findDependencies() local
178 if (SuccessorDependencies[&BB].count(Succ) && in findDependencies()
179 PredecessorDependencies[Succ].count(&BB)) { in findDependencies()
180 AdjacencyList[&BB].insert(Succ); in findDependencies()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DScheduleDAGFast.cpp188 for (SDep &Succ : SU->Succs) { in ScheduleNodeBottomUp()
189 if (Succ.isAssignedRegDep()) { in ScheduleNodeBottomUp()
190 if (LiveRegCycles[Succ.getReg()] == Succ.getSUnit()->getHeight()) { in ScheduleNodeBottomUp()
192 assert(LiveRegDefs[Succ.getReg()] == SU && in ScheduleNodeBottomUp()
195 LiveRegDefs[Succ.getReg()] = nullptr; in ScheduleNodeBottomUp()
196 LiveRegCycles[Succ.getReg()] = 0; in ScheduleNodeBottomUp()
287 for (SDep &Succ : SU->Succs) { in CopyAndMoveSuccessors()
288 if (Succ.isCtrl()) in CopyAndMoveSuccessors()
289 ChainSuccs.push_back(Succ); in CopyAndMoveSuccessors()
291 NodeSuccs.push_back(Succ); in CopyAndMoveSuccessors()
[all …]
H A DResourcePriorityQueue.cpp107 for (const SDep &Succ : SU->Succs) { in numberRCValSuccInSU() local
108 if (Succ.isCtrl()) in numberRCValSuccInSU()
111 SUnit *SuccSU = Succ.getSUnit(); in numberRCValSuccInSU()
144 for (const SDep &Succ : SU->Succs) in numberCtrlDepsInSU() local
145 if (Succ.isCtrl()) in numberCtrlDepsInSU()
228 for (const SDep &Succ : SU->Succs) in push() local
229 if (getSingleUnscheduledPred(Succ.getSUnit()) == SU) in push()
267 for (const SDep &Succ : S->Succs) { in isResourceAvailable() local
270 if (Succ.isCtrl()) in isResourceAvailable()
273 if (Succ.getSUnit() == SU) in isResourceAvailable()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIMachineScheduler.cpp422 for (SDep& Succ : SU->Succs) { in undoSchedule()
423 if (BC->isSUInBlock(Succ.getSUnit(), ID)) in undoSchedule()
424 undoReleaseSucc(SU, &Succ); in undoSchedule()
463 for (SDep& Succ : SU->Succs) { in releaseSuccessors()
464 SUnit *SuccSU = Succ.getSUnit(); in releaseSuccessors()
472 releaseSucc(SU, &Succ); in releaseSuccessors()
495 for (SDep& Succ : SU->Succs) { in nodeScheduled()
497 NodeNum2Index.find(Succ.getSUnit()->NodeNum); in nodeScheduled()
534 void SIScheduleBlock::addSucc(SIScheduleBlock *Succ, in addSucc() argument
536 unsigned SuccID = Succ->getID(); in addSucc()
[all …]
H A DAMDGPUSetWavePriority.cpp89 for (const MachineBasicBlock *Succ : Pred->successors()) { in CanLowerPriorityDirectlyInPredecessors() local
90 if (MBBInfos[Succ].MayReachVMEMLoad) in CanLowerPriorityDirectlyInPredecessors()
150 for (const MachineBasicBlock *Succ : MBB->successors()) { in runOnMachineFunction() local
151 SuccsMayReachVMEMLoad |= MBBInfos[Succ].MayReachVMEMLoad; in runOnMachineFunction()
153 std::max(NumFollowingVALUInsts, MBBInfos[Succ].NumVALUInstsAtStart); in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DCFG.h43 unsigned GetSuccessorNumber(const BasicBlock *BB, const BasicBlock *Succ);
51 bool isCriticalEdge(const Instruction *TI, const BasicBlock *Succ,
163 for (NodeT Succ : make_range(GT::child_begin(Node), GT::child_end(Node))) { in containsIrreducibleCFG() local
165 if (!Visited.count(Succ)) in containsIrreducibleCFG()
170 if (!isProperBackedge(Node, Succ)) in containsIrreducibleCFG()
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DCFGDiff.h62 UpdateMapType Succ; variable
101 Succ[U.getFrom()].DI[IsInsert].push_back(U.getTo());
118 auto &SuccDIList = Succ[U.getFrom()]; in popUpdateForIncrementalUpdates()
123 Succ.erase(U.getFrom()); in popUpdateForIncrementalUpdates()
144 auto &Children = (InverseEdge != InverseGraph) ? Pred : Succ; in getChildren()
165 printMap(OS, Succ); in print()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopNestAnalysis.cpp376 for (const BasicBlock *Succ : BI->successors()) { in checkLoopsStructure() local
377 const BasicBlock *PotentialInnerPreHeader = Succ; in checkLoopsStructure()
378 const BasicBlock *PotentialOuterLatch = Succ; in checkLoopsStructure()
382 if (Succ->size() == 1) { in checkLoopsStructure()
384 &LoopNest::skipEmptyBlockUntil(Succ, InnerLoopPreHeader); in checkLoopsStructure()
386 &LoopNest::skipEmptyBlockUntil(Succ, OuterLoopLatch); in checkLoopsStructure()
398 if (InnerLoopExitContainsLCSSA && IsExtraPhiBlock(*Succ) && in checkLoopsStructure()
399 Succ->getSingleSuccessor() == OuterLoopLatch) { in checkLoopsStructure()
404 ExtraPhiBlock = Succ; in checkLoopsStructure()
409 dbgs() << "Inner loop guard successor " << Succ->getName() in checkLoopsStructure()
H A DFunctionPropertiesAnalysis.cpp393 for (const auto *Succ : Successors) in finish() local
394 if (DT.isReachableFromEntry(Succ)) in finish()
395 Reinclude.insert(Succ); in finish()
397 Unreachable.insert(Succ); in finish()
423 for (const auto *Succ : successors(U)) in finish() local
424 if (!DT.isReachableFromEntry(Succ)) in finish()
425 Unreachable.insert(Succ); in finish()
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DObjCSuperDeallocChecker.cpp73 PathDiagnosticPieceRef VisitNode(const ExplodedNode *Succ,
240 SuperDeallocBRVisitor::VisitNode(const ExplodedNode *Succ, in VisitNode() argument
246 ProgramStateRef State = Succ->getState(); in VisitNode()
249 Succ->getState()->contains<CalledSuperDealloc>(ReceiverSymbol); in VisitNode()
251 Succ->getFirstPred()->getState()->contains<CalledSuperDealloc>( in VisitNode()
259 ProgramPoint P = Succ->getLocation(); in VisitNode()
/freebsd/contrib/llvm-project/clang/lib/Analysis/
H A DCFG.cpp496 CFGBlock *Succ = nullptr; member in __anonef2f84bd0411::CFGBuilder
692 Succ = S; in setDecisionPoint()
698 CFGBlock *Succ = nullptr; member
1577 Succ = createBlock(); in buildCFG()
1578 assert(Succ == &cfg->getExit()); in buildCFG()
1611 VBaseSucc = Succ = B ? B : &cfg->getExit(); in buildCFG()
1620 Succ = VBaseSucc; in buildCFG()
1629 Succ = B; in buildCFG()
1694 if (add_successor && Succ) in createBlock()
1695 addSuccessor(B, Succ); in createBlock()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DBasicBlockUtils.cpp70 for (BasicBlock *Succ : successors(BB)) { in detachDeadBlocks()
71 Succ->removePredecessor(BB, KeepOneInputPHIs); in detachDeadBlocks()
72 if (Updates && UniqueSuccessors.insert(Succ).second) in detachDeadBlocks()
73 Updates->push_back({DominatorTree::Delete, BB, Succ}); in detachDeadBlocks()
761 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, in SplitEdge() argument
764 unsigned SuccNum = GetSuccessorNumber(BB, Succ); in SplitEdge()
774 if (Succ->isEHPad()) in SplitEdge()
775 return ehAwareSplitEdge(BB, Succ, nullptr, nullptr, Options, BBName); in SplitEdge()
783 if (BasicBlock *SP = Succ->getSinglePredecessor()) { in SplitEdge()
788 return SplitBlock(Succ, &Succ->front(), DT, LI, MSSAU, BBName, in SplitEdge()
[all …]

123456789