| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | MachineBlockPlacement.cpp | 517 const MachineBasicBlock *Succ, 581 const MachineBasicBlock *Succ, 605 MachineBasicBlock *Succ, 737 for (MachineBasicBlock *Succ : MBB->successors()) { in markBlockSuccessors() 738 if (BlockFilter && !BlockFilter->count(Succ)) in markBlockSuccessors() 740 BlockChain &SuccChain = *BlockToChain[Succ]; in markBlockSuccessors() 742 if (&Chain == &SuccChain || Succ == LoopHeaderBB) in markBlockSuccessors() 784 for (MachineBasicBlock *Succ : BB->successors()) { in collectViableSuccessors() 786 if (Succ->isEHPad() || (BlockFilter && !BlockFilter->count(Succ))) { in collectViableSuccessors() 789 BlockChain *SuccChain = BlockToChain[Succ]; in collectViableSuccessors() [all …]
|
| H A D | CFIInstrInserter.cpp | 128 void reportCFAError(const MBBCFAInfo &Pred, const MBBCFAInfo &Succ); 129 void reportCSRError(const MBBCFAInfo &Pred, const MBBCFAInfo &Succ); 310 for (auto *Succ : CurrentInfo.MBB->successors()) { in updateSuccCFAInfo() local 311 MBBCFAInfo &SuccInfo = MBBVector[Succ->getNumber()]; in updateSuccCFAInfo() 316 Stack.push_back(Succ); in updateSuccCFAInfo() 416 const MBBCFAInfo &Succ) { in reportCFAError() argument 425 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCFAError() 426 << " incoming CFA Reg:" << Succ.IncomingCFARegister << "\n"; in reportCFAError() 427 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCFAError() 428 << " incoming CFA Offset:" << Succ.IncomingCFAOffset << "\n"; in reportCFAError() [all …]
|
| H A D | MachineBasicBlock.cpp | 288 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 D | MachineTraceMetrics.cpp | 232 if (!TBI->Succ) { in computeHeightResources() 240 unsigned SuccNum = TBI->Succ->getNumber(); in computeHeightResources() 388 for (const MachineBasicBlock *Succ : MBB->successors()) { in pickTraceSucc() local 390 if (CurLoop && Succ == CurLoop->getHeader()) in pickTraceSucc() 393 if (isExitingLoop(CurLoop, getLoopFor(Succ))) in pickTraceSucc() 396 getHeightResources(Succ); in pickTraceSucc() 403 Best = Succ; in pickTraceSucc() 556 TBI.Succ = pickTraceSucc(I); in computeTrace() 558 if (TBI.Succ) in computeTrace() 559 dbgs() << printMBBReference(*TBI.Succ) << '\n'; in computeTrace() [all …]
|
| H A D | LoopTraversal.cpp | 45 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 D | EdgeBundles.cpp | 64 for (const MachineBasicBlock *Succ : MBB.successors()) in init() local 65 EC.join(OutE, 2 * Succ->getNumber()); in init() 102 for (const MachineBasicBlock *Succ : MBB.successors()) in WriteGraph() local 104 << printMBBReference(*Succ) << "\" [ color=lightgray ]\n"; in WriteGraph()
|
| H A D | LatencyPriorityQueue.cpp | 76 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 D | LoopSimplifyCFG.cpp | 193 for (auto *Succ : successors(BB)) in hasIrreducibleCFG() local 194 if (L.contains(Succ) && !LI.isLoopHeader(Succ) && RPO[BB] > RPO[Succ]) in hasIrreducibleCFG() 256 for (BasicBlock *Succ : successors(BB)) in analyze() 257 if (!TakeFoldCandidate || TheOnlySucc == Succ) { in analyze() 258 if (L.contains(Succ)) in analyze() 259 LiveLoopBlocks.insert(Succ); in analyze() 261 LiveExitBlocks.insert(Succ); in analyze() 308 return any_of(successors(BB), [&](BasicBlock *Succ) { in analyze() argument 309 return BlocksInLoopAfterFolding.count(Succ) && IsEdgeLive(BB, Succ); in analyze() 506 for (auto *Succ : successors(BB)) in foldTerminators() local [all …]
|
| H A D | ADCE.cpp | 290 for (auto *Succ : successors(BB)) in initialize() local 291 if (State.onStack(Succ)) { in initialize() 615 for (auto *Succ : successors(BB)) { in updateDeadRegions() local 616 auto *Info = &BlockInfo[Succ]; in updateDeadRegions() 626 for (auto *Succ : successors(BB)) { in updateDeadRegions() local 627 if (!First || Succ != PreferredSucc->BB) { in updateDeadRegions() 628 Succ->removePredecessor(BB); in updateDeadRegions() 629 RemovedSuccessors.insert(Succ); in updateDeadRegions() 636 for (auto *Succ : RemovedSuccessors) { in updateDeadRegions() local 639 if (Succ != PreferredSucc->BB) { in updateDeadRegions() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyFixIrreducibleControlFlow.cpp | 144 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 D | WebAssemblyCFGSort.cpp | 243 for (MachineBasicBlock *Succ : MBB->successors()) { in sortBlocks() 245 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in sortBlocks() 246 if (SuccL->getHeader() == Succ && SuccL->contains(MBB)) in sortBlocks() 249 if (--NumPredsLeft[Succ->getNumber()] == 0) { in sortBlocks() 261 if (EHInfo && EHInfo->hasUnwindSrcs(Succ)) { in sortBlocks() 263 EHInfo->getUnwindSrcs(Succ); in sortBlocks() 267 E.Deferred.push_back(Succ); in sortBlocks() 275 Preferred.push(Succ); in sortBlocks()
|
| H A D | WebAssemblyExceptionInfo.cpp | 71 for (auto *Succ : MBB->successors()) in isReachableAmongDominated() local 72 if (!Visited.count(Succ) && MDT.dominates(Header, Succ)) in isReachableAmongDominated() 73 WL.push_back(Succ); in isReachableAmongDominated() 319 for (auto *Succ : MBB->successors()) in discoverAndMapException() local 320 if (MDT.dominates(EHPad, Succ)) in discoverAndMapException() 321 WL.push_back(Succ); in discoverAndMapException()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | FunctionPropertiesAnalysis.cpp | 435 for (auto *Succ : successors(&CallSiteBB)) in FunctionPropertiesUpdater() local 436 if (Inserted.insert(Succ).second) in FunctionPropertiesUpdater() 439 const_cast<BasicBlock *>(Succ)); in FunctionPropertiesUpdater() 454 for (auto *Succ : successors(UnwindDest)) in FunctionPropertiesUpdater() local 455 if (Inserted.insert(Succ).second) in FunctionPropertiesUpdater() 458 const_cast<BasicBlock *>(Succ)); in FunctionPropertiesUpdater() 486 for (auto *Succ : successors(&CallSiteBB)) in getUpdatedDominatorTree() local 487 if (Inserted.insert(Succ).second) in getUpdatedDominatorTree() 490 const_cast<BasicBlock *>(Succ)}); in getUpdatedDominatorTree() 541 for (const auto *Succ : Successors) in finish() local [all …]
|
| H A D | LoopNestAnalysis.cpp | 376 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()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | ScheduleDAGFast.cpp | 182 for (SDep &Succ : SU->Succs) { in ScheduleNodeBottomUp() 183 if (Succ.isAssignedRegDep()) { in ScheduleNodeBottomUp() 184 if (LiveRegCycles[Succ.getReg()] == Succ.getSUnit()->getHeight()) { in ScheduleNodeBottomUp() 186 assert(LiveRegDefs[Succ.getReg()] == SU && in ScheduleNodeBottomUp() 189 LiveRegDefs[Succ.getReg()] = nullptr; in ScheduleNodeBottomUp() 190 LiveRegCycles[Succ.getReg()] = 0; in ScheduleNodeBottomUp() 281 for (SDep &Succ : SU->Succs) { in CopyAndMoveSuccessors() 282 if (Succ.isCtrl()) in CopyAndMoveSuccessors() 283 ChainSuccs.push_back(Succ); in CopyAndMoveSuccessors() 285 NodeSuccs.push_back(Succ); in CopyAndMoveSuccessors() [all …]
|
| H A D | ResourcePriorityQueue.cpp | 107 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 D | SIMachineScheduler.cpp | 418 for (SDep& Succ : SU->Succs) { in undoSchedule() 419 if (BC->isSUInBlock(Succ.getSUnit(), ID)) in undoSchedule() 420 undoReleaseSucc(SU, &Succ); in undoSchedule() 459 for (SDep& Succ : SU->Succs) { in releaseSuccessors() 460 SUnit *SuccSU = Succ.getSUnit(); in releaseSuccessors() 468 releaseSucc(SU, &Succ); in releaseSuccessors() 491 for (SDep& Succ : SU->Succs) { in nodeScheduled() 493 NodeNum2Index.find(Succ.getSUnit()->NodeNum); in nodeScheduled() 530 void SIScheduleBlock::addSucc(SIScheduleBlock *Succ, in addSucc() argument 532 unsigned SuccID = Succ->getID(); in addSucc() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
| H A D | BlockCoverageInference.cpp | 155 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/include/llvm/Analysis/ |
| H A D | CFG.h | 44 const BasicBlock *Succ); 52 LLVM_ABI bool isCriticalEdge(const Instruction *TI, const BasicBlock *Succ, 164 for (NodeT Succ : make_range(GT::child_begin(Node), GT::child_end(Node))) { in containsIrreducibleCFG() local 166 if (!Visited.count(Succ)) in containsIrreducibleCFG() 171 if (!isProperBackedge(Node, Succ)) in containsIrreducibleCFG()
|
| /freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
| H A D | CoreEngine.cpp | 105 const CFGBlock *Succ = *(Entry->succ_begin()); in ExecuteWorkList() local 109 BlockEdge StartLoc(Entry, Succ, L); in ExecuteWorkList() 616 ExplodedNode *Succ = G.getNode(Loc, N->getState(), false, &IsNew); in enqueueStmtNode() local 617 Succ->addPredecessor(N, G); in enqueueStmtNode() 620 WList->enqueue(Succ, Block, Idx+1); in enqueueStmtNode() 728 ExplodedNode *Succ = generateNodeImpl(Loc, State, NodePred); in generateNode() local 729 return Succ; in generateNode() 737 ExplodedNode *Succ = in generateNode() local 740 Succ->addPredecessor(Pred, Eng.G); in generateNode() 746 Eng.WList->enqueue(Succ); in generateNode() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
| H A D | CFGDiff.h | 62 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/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | ObjCSuperDeallocChecker.cpp | 73 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()
|
| H A D | TestAfterDivZeroChecker.cpp | 70 PathDiagnosticPieceRef VisitNode(const ExplodedNode *Succ, 94 DivisionBRVisitor::VisitNode(const ExplodedNode *Succ, BugReporterContext &BRC, in REGISTER_SET_WITH_PROGRAMSTATE() 101 if (std::optional<PostStmt> P = Succ->getLocationAs<PostStmt>()) in REGISTER_SET_WITH_PROGRAMSTATE() 113 SVal S = Succ->getSVal(E); in REGISTER_SET_WITH_PROGRAMSTATE() 114 if (ZeroSymbol == S.getAsSymbol() && SFC == Succ->getStackFrame()) { in REGISTER_SET_WITH_PROGRAMSTATE() 118 ProgramPoint P = Succ->getLocation(); in REGISTER_SET_WITH_PROGRAMSTATE()
|
| /freebsd/contrib/llvm-project/clang/lib/Analysis/ |
| H A D | CFG.cpp | 518 CFGBlock *Succ = nullptr; member in __anonef2f84bd0411::CFGBuilder 714 Succ = S; in setDecisionPoint() 720 CFGBlock *Succ = nullptr; member 1665 Succ = createBlock(); in buildCFG() 1666 assert(Succ == &cfg->getExit()); in buildCFG() 1699 VBaseSucc = Succ = B ? B : &cfg->getExit(); in buildCFG() 1708 Succ = VBaseSucc; in buildCFG() 1717 Succ = B; in buildCFG() 1781 if (add_successor && Succ) in createBlock() 1782 addSuccessor(B, Succ); in createBlock() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | BasicBlockUtils.cpp | 69 for (BasicBlock *Succ : successors(BB)) { in detachDeadBlocks() 70 Succ->removePredecessor(BB, KeepOneInputPHIs); in detachDeadBlocks() 71 if (Updates && UniqueSuccessors.insert(Succ).second) in detachDeadBlocks() 72 Updates->push_back({DominatorTree::Delete, BB, Succ}); in detachDeadBlocks() 626 BasicBlock *llvm::SplitEdge(BasicBlock *BB, BasicBlock *Succ, DominatorTree *DT, in SplitEdge() argument 629 unsigned SuccNum = GetSuccessorNumber(BB, Succ); in SplitEdge() 643 if (BasicBlock *SP = Succ->getSinglePredecessor()) { in SplitEdge() 648 return SplitBlock(Succ, &Succ->front(), DT, LI, MSSAU, BBName, in SplitEdge() 659 void llvm::setUnwindEdgeTo(Instruction *TI, BasicBlock *Succ) { in setUnwindEdgeTo() argument 661 II->setUnwindDest(Succ); in setUnwindEdgeTo() [all …]
|