Home
last modified time | relevance | path

Searched full:successors (Results 1 – 25 of 461) sorted by relevance

12345678910>>...19

/freebsd/contrib/llvm-project/llvm/lib/CodeGenData/
H A DOutlinedHashTree.cpp39 for (const auto &[Hash, Successor] : Current->Successors) in walkGraph()
45 for (const auto &P : Current->Successors) in walkGraph()
76 auto I = Current->Successors.find(StableHash); in insert()
77 if (I == Current->Successors.end()) { in insert()
81 Current->Successors.emplace(StableHash, std::move(Next)); in insert()
103 for (auto &[Hash, NextSrcNode] : SrcNode->Successors) { in merge()
105 auto I = DstNode->Successors.find(Hash); in merge()
106 if (I == DstNode->Successors.end()) { in merge()
110 DstNode->Successors.emplace(Hash, std::move(NextDst)); in merge()
123 const auto I = Current->Successors.find(StableHash); in find()
[all …]
H A DOutlinedHashTreeRecord.cpp134 for (auto &P : Node->Successors) in convertToStableData()
139 // Sort the Successors so that they come out in the same order as in the map. in convertToStableData()
149 assert(IdNodeMap[0]->Successors.empty()); in convertFromStableData()
159 auto &Successors = Curr->Successors; in convertFromStableData() local
160 assert(Successors.empty()); in convertFromStableData()
165 Successors[Hash] = std::move(Sucessor); in convertFromStableData()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DFunctionPropertiesAnalysis.cpp114 // Calculate critical edges by looking through all successors of a basic in updateForBB()
115 // block that has multiple successors and finding ones that have multiple in updateForBB()
118 for (const auto *Successor : successors(&BB)) { in updateForBB()
324 // The successors may become unreachable in the case of `invoke` inlining. in FunctionPropertiesUpdater()
325 // We track successors separately, too, because they form a boundary, together in FunctionPropertiesUpdater()
327 Successors.insert(succ_begin(&CallSiteBB), succ_end(&CallSiteBB)); in FunctionPropertiesUpdater()
332 // need to invalidate and then re-account BB data is the successors of the in FunctionPropertiesUpdater()
338 Successors.insert(succ_begin(UnwindDest), succ_end(UnwindDest)); in FunctionPropertiesUpdater()
346 Successors.erase(&CallSiteBB); in FunctionPropertiesUpdater()
348 for (const auto *BB : Successors) in FunctionPropertiesUpdater()
[all …]
H A DBranchProbabilityInfo.cpp264 for (const auto *Succ : successors(BB)) in getSccExitBlocks()
296 if (llvm::any_of(successors(BB), [&](const BasicBlock *Succ) { in calculateSccBlockType()
390 // Check that the number of successors is manageable. in calcMetadataWeights()
391 assert(TI->getNumSuccessors() < UINT32_MAX && "Too many successors"); in calcMetadataWeights()
539 // Compute the unlikely successors to the block BB in the loop L, specifically
597 // Trace the phi node to find all values that come from successors of BB in computeUnlikelySuccessors()
620 if (!CmpLHSConst || !llvm::is_contained(successors(BB), B)) in computeUnlikelySuccessors()
672 const LoopBlock &SrcLoopBB, iterator_range<IterT> Successors) const { in getMaxEstimatedEdgeWeight()
675 for (const BasicBlock *DstBB : Successors) { in getMaxEstimatedEdgeWeight()
813 // calculated before visiting theirs successors. in computeEestimateBlockWeight()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DSampleProfileInference.h130 SampleProfileInference(FunctionT &F, BlockEdgeMap &Successors, in SampleProfileInference() argument
132 : F(F), Successors(Successors), SampleBlockWeights(SampleBlockWeights) {} in SampleProfileInference()
147 BlockEdgeMap &Successors, FlowFunction &Func);
155 /// Successors for each basic block in the CFG.
156 BlockEdgeMap &Successors; variable
175 // An exit block is a block without any successors. in apply()
262 for (auto *Succ : Successors[BB]) { in createFlowFunction()
279 findUnlikelyJumps(BasicBlocks, Successors, Func); in createFlowFunction()
303 BlockEdgeMap &Successors, FlowFunctio in findUnlikelyJumps() argument
[all...]
H A DSampleProfileLoaderBaseImpl.h80 static succ_range getSuccessors(BasicBlock *BB) { return successors(BB); }
247 void applyProfi(FunctionT &F, BlockEdgeMap &Successors,
299 /// Successors for each basic block in the CFG.
300 BlockEdgeMap Successors;
349 Successors.clear();
767 NumTotalEdges = Successors[BB].size();
768 for (auto *Succ : Successors[BB]) {
773 SingleEdge = std::make_pair(BB, Successors[BB][0]);
851 for (auto *Succ : Successors[BB]) {
897 // Add successors for B1.
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineBasicBlock.h161 std::vector<MachineBasicBlock *> Successors;
163 /// Keep track of the probabilities to the successors. This vector has the
164 /// same order as Successors, or it is empty if we don't use it (disable
418 succ_iterator succ_begin() { return Successors.begin(); }
419 const_succ_iterator succ_begin() const { return Successors.begin(); }
420 succ_iterator succ_end() { return Successors.end(); }
421 const_succ_iterator succ_end() const { return Successors.end(); }
423 { return Successors.rbegin(); }
425 { return Successors.rbegin(); }
427 { return Successors.rend(); }
[all …]
/freebsd/share/mk/
H A Dversion_gen.awk34 # successors[] - array index by version name, contains successor
61 successors[symver] = "";
83 successors[symver] = v;
213 if (successors[v] != "")
214 print_version(successors[v]);
232 if (successors[v] == "")
235 printf("} %s;\n", successors[v]);
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineBlockPlacement.cpp437 /// blocks and their successors through the pass.
475 SmallVector<MachineBasicBlock *, 4> &Successors);
652 /// Mark a chain's successors as having one fewer preds.
655 /// quickly walk the successors of each block in the chain and mark them as
656 /// having one fewer active predecessor. It also adds any successors of this
661 // Walk all the blocks in this chain, marking their successors as having in markChainSuccessors()
668 /// Mark a single block's successors as having one fewer preds.
677 // Add any successors for which this is the only un-placed in-loop in markBlockSuccessors()
681 for (MachineBasicBlock *Succ : MBB->successors()) { in markBlockSuccessors()
703 /// This helper function collects the set of successors of block
[all …]
H A DIndirectBrExpandPass.cpp107 // Set of all potential successors for indirectbr instructions. in runImpl()
113 // Handle the degenerate case of no successors by replacing the indirectbr in runImpl()
122 for (BasicBlock *SuccBB : IBr->successors()) in runImpl()
136 // Skip blocks that aren't successors to an indirectbr we're going to in runImpl()
183 for (BasicBlock *SuccBB : IBr->successors()) in runImpl()
226 for (BasicBlock *SuccBB : IBr->successors()) in runImpl()
250 for (BasicBlock *SuccBB : IBr->successors()) in runImpl()
266 // If there were multiple indirectbr's, they may have common successors, in runImpl()
H A DMachineBasicBlock.cpp288 for (const MachineBasicBlock *Succ : successors()) in hasEHPadSuccessor()
305 for (const MachineBasicBlock *Succ : successors()) { in mayHaveInlineAsmBr()
393 // Print the successors in print()
394 OS.indent(2) << "successors: "; in print()
697 // A block with no successors has no concerns with fall-through edges. in updateTerminator()
735 // successors is its layout successor, rewrite it to a fallthrough in updateTerminator()
789 // no greater than the number of successors. in validateSuccProbs()
792 "The sum of successors's probabilities exceeds one."); in validateSuccProbs()
800 if (!(Probs.empty() && !Successors.empty())) in addSuccessor()
802 Successors.push_back(Succ); in addSuccessor()
[all …]
H A DEdgeBundles.cpp48 // Join the outgoing bundle with the ingoing bundles of all successors. in runOnMachineFunction()
49 for (const MachineBasicBlock *Succ : MBB.successors()) in runOnMachineFunction()
88 for (const MachineBasicBlock *Succ : MBB.successors()) in WriteGraph()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGenData/
H A DOutlinedHashTree.h29 /// and a collection of Successors (other HashNodes). If a HashNode has
37 /// The successors of this node.
39 std::unordered_map<stable_hash, std::unique_ptr<HashNode>> Successors; member
64 getRoot()->Successors.clear(); in clear()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanCFG.h26 /// Iterator to traverse all successors of a VPBlockBase node. This includes the
28 /// parent region's successors. This ensures all blocks in a region are visited
31 // directly and not their successors. Those will be traversed when a region's
59 // For exit blocks, use the next parent region with successors. in deref()
125 /// implicitly have their parent region's successors. This ensures all blocks in
239 // successors/predecessors but not to the blocks inside the region.
H A DVPlan.cpp192 if (!Successors.empty() || !Parent) in getEnclosingBlockWithSuccessors()
195 "Block w/o successors not the exiting block of its parent."); in getEnclosingBlockWithSuccessors()
454 "VPIRBasicBlock can have at most two successors at the moment!"); in execute()
554 SmallVector<VPBlockBase *, 2> Succs(successors()); in splitAt()
555 // First, disconnect the current block from its successors. in splitAt()
563 // Add successors for block to split to new block. in splitAt()
589 "block with multiple successors doesn't have a recipe as terminator"); in hasConditionalTerminator()
601 assert(IsCondBranch && "block with multiple successors not terminated by " in hasConditionalTerminator()
609 "block with 0 or 1 successors terminated by conditional branch recipe"); in hasConditionalTerminator()
632 O << Indent << "No successors\n"; in printSuccessors()
[all …]
H A DVPlanVerifier.cpp194 errs() << "Block has multiple successors but doesn't " in verifyBlock()
205 // Check block's successors. in verifyBlock()
206 const auto &Successors = VPB->getSuccessors(); in verifyBlock() local
209 if (hasDuplicates(Successors)) { in verifyBlock()
214 for (const VPBlockBase *Succ : Successors) { in verifyBlock()
274 errs() << "region exiting block has successors\n"; in verifyRegion()
H A DVPlan.h453 SmallVector<VPBlockBase *, 1> Successors; variable
462 Successors.push_back(Successor); in appendSuccessor()
478 /// Remove \p Successor from the successors of this block.
480 auto Pos = find(Successors, Successor); in removeSuccessor()
482 Successors.erase(Pos); in removeSuccessor()
534 const VPBlocksTy &getSuccessors() const { return Successors; } in getSuccessors()
535 VPBlocksTy &getSuccessors() { return Successors; } in getSuccessors()
537 iterator_range<VPBlockBase **> successors() { return Successors; } in successors() function
545 return (Successors.size() == 1 ? *Successors.begin() : nullptr); in getSingleSuccessor()
554 size_t getNumSuccessors() const { return Successors.size(); } in getNumSuccessors()
[all …]
/freebsd/contrib/llvm-project/openmp/runtime/src/
H A Dkmp_taskdeps.cpp37 node->dn.successors = NULL; in __kmp_init_node()
235 if (source_info->successors[i] == task_sink->td_task_id) { in __kmp_track_dependence()
243 kmp_int32 *old_succ_ids = source_info->successors; in __kmp_track_dependence()
246 source_info->successors = new_succ_ids; in __kmp_track_dependence()
250 source_info->successors[source_info->nsuccessors] = task_sink->td_task_id; in __kmp_track_dependence()
294 return td->td_depnode->dn.successors; in __kmpc_task_get_successors()
320 if (!dep->dn.successors || dep->dn.successors->node != node) { in __kmp_depnode_link_successor()
325 dep->dn.successors = __kmp_add_node(thread, dep->dn.successors, node); in __kmp_depnode_link_successor()
359 // synchronously add source to sink' list of successors in __kmp_depnode_link_successor()
362 if (!sink->dn.successors || sink->dn.successors->node != source) { in __kmp_depnode_link_successor()
[all …]
H A Dkmp_taskdeps.h101 kmp_int32 successorNumber = TaskInfo->successors[i]; in __kmp_release_deps()
136 KA_TRACE(20, ("__kmp_release_deps: T#%d notifying successors of task %p.\n", in __kmp_release_deps()
150 for (kmp_depnode_list_t *p = node->dn.successors; p; p = next) { in __kmp_release_deps()
205 ("__kmp_release_deps: T#%d all successors of %p notified of completion\n", in __kmp_release_deps()
/freebsd/contrib/llvm-project/llvm/lib/Support/
H A DDAGDeltaAlgorithm.cpp74 std::map<change_ty, std::vector<change_ty> > Successors; member in __anoncf29fe990111::DAGDeltaAlgorithmImpl
99 assert(Successors.count(Node) && "Invalid node!"); in succ_begin()
100 return Successors[Node].begin(); in succ_begin()
103 assert(Successors.count(Node) && "Invalid node!"); in succ_end()
104 return Successors[Node].end(); in succ_end()
184 Successors.insert(std::make_pair(Change, std::vector<change_ty>())); in DAGDeltaAlgorithmImpl()
188 Successors[Dep.first].push_back(Dep.second); in DAGDeltaAlgorithmImpl()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86VZeroUpper.cpp262 // block has successors that exit dirty. Record the location of the call, in processBasicBlock()
274 for (MachineBasicBlock *Succ : MBB.successors()) in processBasicBlock()
318 // unguarded call in each block, and add successors of dirty blocks to the in runOnMachineFunction()
328 // Re-visit all blocks that are successors of EXITS_DIRTY blocks. Add in runOnMachineFunction()
342 // successors need to be added to the worklist (if they haven't been in runOnMachineFunction()
347 for (MachineBasicBlock *Succ : MBB.successors()) in runOnMachineFunction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Passes/
H A DStandardInstrumentations.h145 // block, {(Succ, Multiplicity)} set of all pairs of the block's successors
147 // unordered the order of successors is not tracked by the CFG. In other words
148 // this allows basic block successors to be swapped by a pass without
496 return Successors.begin(); in begin()
499 return Successors.end(); in end()
504 assert(Successors.count(S) == 1 && "Expected to find successor."); in getSuccessorLabel()
505 return Successors.find(S)->getValue(); in getSuccessorLabel()
512 Successors.insert(SS); in addSuccessorLabel()
515 StringMap<std::string> Successors; variable
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DBranchProbabilityInfo.h46 /// defined by a pair (PredBlock and an index in the successors). The
50 /// We use a pair (PredBlock and an index in the successors) to uniquely
72 /// addition, if all successors have estimated weights set then maximum of these
78 /// used for any successors which doesn't have its weight set. For loop back
94 /// successors. BB1 and BB3 has no explicit estimated weights and assumed to
327 // a pair (PredBlock and an index in the successors) to specify an edge.
385 /// Iterates over all edges leading from \p SrcBB to \p Successors and
391 iterator_range<IterT> Successors) const;
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUUnifyDivergentExitNodes.cpp244 SmallVector<BasicBlock *, 2> Successors(successors(BB)); in run() local
249 Updates.reserve(Updates.size() + 2 * Successors.size() + 2); in run()
251 // 'Successors' become successors of TransitionBB instead of BB, in run()
254 for (BasicBlock *Successor : Successors) { in run()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DCFG.h12 /// iterating successors and predecessors of basic blocks, the successors of
191 // successors. in SuccIterator()
261 inline succ_range successors(Instruction *I) { in successors() function
264 inline const_succ_range successors(const Instruction *I) { in successors() function
286 inline succ_range successors(BasicBlock *BB) { in successors() function
289 inline const_succ_range successors(const BasicBlock *BB) { in successors() function

12345678910>>...19