| /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/ |
| H A D | 2008-05-16-PHIBlockMerge.ll | 17 ; CHECK: Succ: 34 br label %Succ 45 Exit: ; preds = %Succ 56 ; CHECK: Succ: 70 br label %Succ 94 ; CHECK: Succ: 111 br label %Succ 142 ; CHECK: Succ: 159 br label %Succ 179 ; CHECK: Succ: [all …]
|
| H A D | EqualPHIEdgeBlockMerge.ll | 191 ; CHECK: Succ: 208 br label %Succ 230 ; CHECK: Succ: 244 br label %Succ 268 ; CHECK: Succ: 285 br label %Succ 316 ; CHECK: Succ: 333 br label %Succ 353 ; CHECK: Succ: 364 br label %Succ [all …]
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | MachineBlockPlacement.cpp | 714 if (Succ->isEHPad() || (BlockFilter && !BlockFilter->count(Succ))) { in collectViableSuccessors() 1208 if (Succ->succ_empty()) in canTailDuplicateUnplacedPreds() 1290 PDom = Succ; in precomputeTriangleChains() 1602 if (BB->isSuccessor(Succ) && (!BlockFilter || BlockFilter->count(Succ)) && in selectBestSuccessor() 1646 BestSucc.BB = Succ; in selectBestSuccessor() 1661 MachineBasicBlock *Succ; in selectBestSuccessor() local 1670 BestSucc.BB = Succ; in selectBestSuccessor() 2007 if ((Succ == NewTop) || (Succ == BestPred) || !LoopBlockSet.count(Succ)) in FallThroughGains() 2203 if (Succ->isEHPad()) in findBestLoopExit() 2205 if (Succ == MBB) in findBestLoopExit() [all …]
|
| H A D | CFIInstrInserter.cpp | 286 for (auto *Succ : CurrentInfo.MBB->successors()) { in updateSuccCFAInfo() local 287 MBBCFAInfo &SuccInfo = MBBVector[Succ->getNumber()]; in updateSuccCFAInfo() 292 Stack.push_back(Succ); in updateSuccCFAInfo() 392 const MBBCFAInfo &Succ) { in reportCFAError() argument 401 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCFAError() 403 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCFAError() 408 const MBBCFAInfo &Succ) { in reportCSRError() argument 416 errs() << "Succ: " << Succ.MBB->getName() << " #" << Succ.MBB->getNumber() in reportCSRError() 418 for (int Reg : Succ.IncomingCSRSaved.set_bits()) in reportCSRError() 427 for (MachineBasicBlock *Succ : CurrMBB->successors()) { in verify() [all …]
|
| H A D | MachineBasicBlock.cpp | 281 if (Succ->isEHPad()) in hasEHPadSuccessor() 753 Successors.push_back(Succ); in addSuccessor() 754 Succ->addPredecessor(this); in addSuccessor() 762 Successors.push_back(Succ); in addSuccessorWithoutProb() 763 Succ->addPredecessor(this); in addSuccessorWithoutProb() 877 addSuccessor(Succ, Prob); in transferSuccessors() 894 addSuccessor(Succ, Prob); in transferSuccessorsAndUpdatePHIs() 1086 if (Succ == PrevFallthrough) in SplitCriticalEdge() 1103 NMBB->addSuccessor(Succ); in SplitCriticalEdge() 1167 I = Succ->instr_begin(), E = Succ->instr_end(); in SplitCriticalEdge() [all …]
|
| H A D | MachineTraceMetrics.cpp | 219 if (!TBI->Succ) { in computeHeightResources() 368 getHeightResources(Succ); in pickTraceSucc() 375 Best = Succ; in pickTraceSucc() 511 if (TBI.Succ) in computeTrace() 541 if (TBI.Succ == MBB) { in invalidate() 547 assert((!TBI.Succ || Pred->isSuccessor(TBI.Succ)) && "CFG changed"); in invalidate() 1011 MBB = TBI.Succ; in computeInstrHeights() 1064 const MachineBasicBlock *Succ = TBI.Succ; in computeInstrHeights() local 1068 if (!Succ) in computeInstrHeights() 1073 if (Succ) { in computeInstrHeights() [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()
|
| /llvm-project-15.0.7/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() 245 if (L.contains(Succ)) in analyze() 246 LiveLoopBlocks.insert(Succ); in analyze() 248 LiveExitBlocks.insert(Succ); in analyze() 296 return BlocksInLoopAfterFolding.count(Succ) && IsEdgeLive(BB, Succ); in analyze() 492 for (auto *Succ : successors(BB)) in foldTerminators() local 493 if (Succ != TheOnlySucc) { in foldTerminators() 494 DeadSuccessors.insert(Succ); in foldTerminators() 500 MSSAU->removeEdge(BB, Succ); in foldTerminators() [all …]
|
| H A D | ADCE.cpp | 285 for (auto *Succ : successors(BB)) in initialize() local 286 if (State.onStack(Succ)) { in initialize() 599 for (auto *Succ : successors(BB)) { in updateDeadRegions() local 600 auto *Info = &BlockInfo[Succ]; in updateDeadRegions() 610 for (auto *Succ : successors(BB)) { in updateDeadRegions() local 611 if (!First || Succ != PreferredSucc->BB) { in updateDeadRegions() 612 Succ->removePredecessor(BB); in updateDeadRegions() 613 RemovedSuccessors.insert(Succ); in updateDeadRegions() 620 for (auto *Succ : RemovedSuccessors) { in updateDeadRegions() local 623 if (Succ != PreferredSucc->BB) { in updateDeadRegions() [all …]
|
| H A D | SCCP.cpp | 378 for (BasicBlock *Succ : successors(BB)) { in removeNonFeasibleEdges() 379 if (Solver.isEdgeFeasible(BB, Succ)) in removeNonFeasibleEdges() 380 FeasibleSuccessors.insert(Succ); in removeNonFeasibleEdges() 399 for (BasicBlock *Succ : successors(BB)) { in removeNonFeasibleEdges() 400 Succ->removePredecessor(BB); in removeNonFeasibleEdges() 401 if (SeenSuccs.insert(Succ).second) in removeNonFeasibleEdges() 412 for (BasicBlock *Succ : successors(BB)) { in removeNonFeasibleEdges() 420 Succ->removePredecessor(BB); in removeNonFeasibleEdges() 421 Updates.push_back({DominatorTree::Delete, BB, Succ}); in removeNonFeasibleEdges() 453 BasicBlock *Succ = CI->getCaseSuccessor(); in removeNonFeasibleEdges() local [all …]
|
| /llvm-project-15.0.7/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 155 assert(inRegion(MBB) && Succ != Entry && inRegion(Succ)); in calculate() 161 WorkList.emplace_back(Pred, Succ); in calculate() 469 for (auto *Succ : Pred->successors()) { in makeSingleEntryLoop() local 470 if (!Entries.count(Succ)) in makeSingleEntryLoop() 472 auto *Routing = Map[{Succ, PredInLoop}]; in makeSingleEntryLoop() [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()
|
| /llvm-project-15.0.7/bolt/lib/Core/ |
| H A D | BinaryBasicBlock.cpp | 88 for (BinaryBasicBlock *Succ : Successors) { in validateSuccessorInvariants() 89 auto Itr = UniqueSyms.find(Succ->getLabel()); in validateSuccessorInvariants() 263 Successors.push_back(Succ); in addSuccessor() 265 Succ->Predecessors.push_back(this); in addSuccessor() 272 Succ->removePredecessor(this, /*Multiple=*/false); in replaceSuccessor() 277 if (*I == Succ) in replaceSuccessor() 302 if (*I == Succ) in removeSuccessor() 338 BinaryBasicBlock *Succ = Successors[0]; in removeDuplicateConditionalSuccessor() local 347 Successors.push_back(Succ); in removeDuplicateConditionalSuccessor() 547 auto Itr = llvm::find(Successors, Succ); in getBranchStats() [all …]
|
| H A D | BinaryFunctionProfile.cpp | 89 for (BinaryBasicBlock *Succ : BB->successors()) { in postProcessProfile() 93 Succ != BasicBlocks.front()) in postProcessProfile() 94 Succ->setExecutionCount(Succ->getExecutionCount() + SuccBIIter->Count); in postProcessProfile() 126 for (BinaryBasicBlock *Succ : BB->successors()) { in postProcessProfile() 129 Succ->setExecutionCount(std::max(Succ->getExecutionCount(), Count)); in postProcessProfile() 334 auto &Succ = *BB->succ_rbegin(); in inferFallThroughCounts() local 338 Succ->ExecutionCount += Inferred; in inferFallThroughCounts()
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/ |
| H A D | CoreEngine.cpp | 587 Succ->addPredecessor(N, G); in enqueueStmtNode() 674 return Succ; in generateNode() 682 ExplodedNode *Succ = in generateNode() local 691 Eng.WList->enqueue(Succ); in generateNode() 693 return Succ; in generateNode() 700 ExplodedNode *Succ = in generateCaseStmtNode() local 707 Eng.WList->enqueue(Succ); in generateCaseStmtNode() 708 return Succ; in generateCaseStmtNode() 724 ExplodedNode *Succ = in generateDefaultCaseNode() local 733 Eng.WList->enqueue(Succ); in generateDefaultCaseNode() [all …]
|
| /llvm-project-15.0.7/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, 151 for (NodeT Succ : make_range(GT::child_begin(Node), GT::child_end(Node))) { in containsIrreducibleCFG() local 153 if (!Visited.count(Succ)) in containsIrreducibleCFG() 158 if (!isProperBackedge(Node, Succ)) in containsIrreducibleCFG()
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | SIMachineScheduler.cpp | 424 for (SDep& Succ : SU->Succs) { in undoSchedule() 426 undoReleaseSucc(SU, &Succ); in undoSchedule() 465 for (SDep& Succ : SU->Succs) { in releaseSuccessors() 466 SUnit *SuccSU = Succ.getSUnit(); in releaseSuccessors() 474 releaseSucc(SU, &Succ); in releaseSuccessors() 497 for (SDep& Succ : SU->Succs) { in nodeScheduled() 538 unsigned SuccID = Succ->getID(); in addSucc() 549 if (Succ->isHighLatencyBlock()) in addSucc() 844 SUnit *Succ = SuccDep.getSUnit(); in colorComputeReservedDependencies() local 926 SUnit *Succ = SuccDep.getSUnit(); in colorEndsAccordingToDependencies() local [all …]
|
| /llvm-project-15.0.7/bolt/lib/Passes/ |
| H A D | HFSortPlus.cpp | 276 for (NodeId Succ : Cg.successors(F)) { in initialize() local 277 if (F == Succ) in initialize() 279 const Arc &Arc = *Cg.findArc(F, Succ); in initialize() 281 InWeight[Succ] += Arc.weight(); in initialize() 287 for (NodeId Succ : Cg.successors(F)) { in initialize() local 288 if (F == Succ) in initialize() 290 const Arc &Arc = *Cg.findArc(F, Succ); in initialize() 428 for (NodeId Succ : Cg.successors(F)) { in runPassOne() local 429 if (F == Succ) in runPassOne() 432 const Arc &Arc = *Cg.findArc(F, Succ); in runPassOne() [all …]
|
| /llvm-project-15.0.7/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() 287 for (SDep &Succ : SU->Succs) { in CopyAndMoveSuccessors() 288 if (Succ.isCtrl()) in CopyAndMoveSuccessors() 355 for (SDep &Succ : SU->Succs) { in CopyAndMoveSuccessors() 356 if (Succ.isArtificial()) in CopyAndMoveSuccessors() 360 SDep D = Succ; in CopyAndMoveSuccessors() 391 for (SDep &Succ : SU->Succs) { in InsertCopiesAndMoveSuccs() 392 if (Succ.isArtificial()) in InsertCopiesAndMoveSuccs() [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 267 for (const SDep &Succ : S->Succs) { in isResourceAvailable() local 270 if (Succ.isCtrl()) in isResourceAvailable() 273 if (Succ.getSUnit() == SU) in isResourceAvailable() 512 for (const SDep &Succ : SU->Succs) { in scheduledNode() local [all …]
|
| /llvm-project-15.0.7/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()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | FunctionPropertiesAnalysis.cpp | 213 for (const auto *Succ : Successors) in finish() local 214 if (DT.isReachableFromEntry(Succ)) in finish() 215 Reinclude.insert(Succ); in finish() 217 Unreachable.insert(Succ); in finish() 243 for (const auto *Succ : successors(U)) in finish() local 244 if (!DT.isReachableFromEntry(Succ)) in finish() 245 Unreachable.insert(Succ); in finish()
|
| 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->getInstList().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()
|
| /llvm-project-15.0.7/llvm/examples/IRTransforms/ |
| H A D | SimplifyCFG.cpp | 77 for (BasicBlock *Succ : successors(&BB)) in removeDeadBlocks_v1() 78 Succ->removePredecessor(&BB); in removeDeadBlocks_v1() 118 for (BasicBlock *Succ : successors(&BB)) { in removeDeadBlocks_v2() 119 Succ->removePredecessor(&BB); in removeDeadBlocks_v2() 122 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in removeDeadBlocks_v2() 325 for (BasicBlock *Succ : successors(&BB)) { in mergeIntoSinglePredecessor_v2() 326 DTUpdates.push_back({DominatorTree::Delete, &BB, Succ}); in mergeIntoSinglePredecessor_v2() 327 DTUpdates.push_back({DominatorTree::Insert, Pred, Succ}); in mergeIntoSinglePredecessor_v2()
|