/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineBlockPlacement.cpp | 494 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 D | CFIInstrInserter.cpp | 127 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 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 | 218 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 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 | 49 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 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 | 191 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 D | ADCE.cpp | 290 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 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 | 244 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 D | WebAssemblyExceptionInfo.cpp | 72 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 D | CoreEngine.cpp | 105 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 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/lib/CodeGen/SelectionDAG/ |
H A D | ScheduleDAGFast.cpp | 188 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 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 | 422 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 D | AMDGPUSetWavePriority.cpp | 89 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 D | CFG.h | 43 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 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/llvm/lib/Analysis/ |
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()
|
H A D | FunctionPropertiesAnalysis.cpp | 393 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 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()
|
/freebsd/contrib/llvm-project/clang/lib/Analysis/ |
H A D | CFG.cpp | 496 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 D | BasicBlockUtils.cpp | 70 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 …]
|