Searched refs:SCC (Results 1 - 25 of 45) sorted by relevance

12

/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/
H A DArgumentPromotion.h20 /// This pass walks the functions in each SCC and for each one tries to
29 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
H A DInliner.h43 bool runOnSCC(CallGraphSCC &SCC) override;
48 /// breaking the SCC traversal.
68 bool inlineCalls(CallGraphSCC &SCC);
84 /// the SCC and tries to inline if profitable. It can be tuned with a number of
103 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
H A DFunctionAttrs.h51 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DSyntheticCountsUtils.cpp25 // Given an SCC, propagate entry counts along the edge of the SCC nodes.
28 const SccTy &SCC, GetProfCountTy GetProfCount, AddCountTy AddCount) {
33 for (auto &Node : SCC)
36 // Partition the edges coming out of the SCC into those whose destination is
37 // in the SCC and the rest.
47 // For nodes in the same SCC, update the counts in two steps:
50 // SCC and summing them up.
51 // 2. Add the additional counts to the nodes in the SCC.
53 // traversal of nodes within the SCC does
27 propagateFromSCC( const SccTy &SCC, GetProfCountTy GetProfCount, AddCountTy AddCount) argument
[all...]
H A DCGSCCPassManager.cpp39 template class AllAnalysesOn<LazyCallGraph::SCC>;
40 template class AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
41 template class PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager,
45 LazyCallGraph::SCC, LazyCallGraph &>;
52 PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &,
53 CGSCCUpdateResult &>::run(LazyCallGraph::SCC &InitialC,
66 // The SCC may be refined while we are running passes over it, so set up
68 LazyCallGraph::SCC *C = &InitialC;
82 PI.runAfterPassInvalidated<LazyCallGraph::SCC>(*Pass);
84 PI.runAfterPass<LazyCallGraph::SCC>(*Pas
[all...]
H A DLazyCallGraph.cpp226 LLVM_DUMP_METHOD void LazyCallGraph::SCC::dump() const {
232 void LazyCallGraph::SCC::verify() {
234 assert(!Nodes.empty() && "Can't have an empty SCC!");
239 "Node does not map to this SCC!");
241 "Must set DFS numbers to -1 when adding a node to an SCC!");
243 "Must set low link to -1 when adding a node to an SCC!");
250 bool LazyCallGraph::SCC::isParentOf(const SCC &C) const {
263 bool LazyCallGraph::SCC::isAncestorOf(const SCC
[all...]
H A DGlobalsModRef.cpp471 // We do a bottom-up SCC traversal of the call graph. In other words, we
475 const std::vector<CallGraphNode *> &SCC = *I; local
476 assert(!SCC.empty() && "SCC with no functions?");
478 for (auto *CGN : SCC)
490 // We do a bottom-up SCC traversal of the call graph. In other words, we
493 const std::vector<CallGraphNode *> &SCC = *I; local
494 assert(!SCC.empty() && "SCC with no functions?");
496 Function *F = SCC[
[all...]
H A DCallGraphSCCPass.cpp12 // call-graph in SCC order: that is, they process function bottom-up, except for
47 STATISTIC(MaxSCCIterations, "Maximum CGSCCPassMgr iterations on one SCC");
74 // CGPassManager walks SCC and it needs CallGraph.
86 errs().indent(Offset*2) << "Call Graph SCC Pass Manager\n";
170 // Run pass P on all functions in the current SCC.
185 LLVM_DEBUG(dbgs() << "CGSCCPASSMGR: Pass Dirtied SCC: " << P->getPassName()
205 LLVM_DEBUG(dbgs() << "CGSCCPASSMGR: Refreshing SCC with " << CurSCC.size()
213 // Scan all functions in the SCC.
387 dbgs() << "CGSCCPASSMGR: Refreshed SCC is now:\n";
393 dbgs() << "CGSCCPASSMGR: SCC Refres
684 getDescription(const CallGraphSCC &SCC) argument
[all...]
H A DDependenceGraphBuilder.cpp96 // 1. Identify SCCs and for each SCC create a pi-block node containing all
97 // the nodes in that SCC.
98 // 2. Identify incoming edges incident to the nodes inside of the SCC and
100 // 3. Identify outgoing edges from the nodes inside of the SCC to nodes
102 // SCC node instead.
104 // Adding nodes as we iterate through the SCCs cause the SCC
106 // collect a list of nodes that are part of an SCC, and then iterate over
108 // list of nodes in an SCC. Note: trivial SCCs containing a single node are
111 for (auto &SCC : make_range(scc_begin(&Graph), scc_end(&Graph))) {
112 if (SCC
[all...]
H A DDDG.cpp187 for (auto &SCC : make_range(scc_begin(&F), scc_end(&F)))
188 for (BasicBlock * BB : SCC)
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DCGSCCPassManager.h66 /// entries that become dead. This extra data is provided to every SCC pass so
118 extern template class AllAnalysesOn<LazyCallGraph::SCC>;
120 extern template class AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
129 AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
136 PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &,
137 CGSCCUpdateResult &>::run(LazyCallGraph::SCC &InitialC,
140 extern template class PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager,
146 /// a sequence of SCC passes over each SCC that the manager is run over. This
149 PassManager<LazyCallGraph::SCC, CGSCCAnalysisManage
[all...]
H A DCallGraphSCCPass.h12 // SCC order: that is, they process function bottom-up, except for recursive
46 /// doInitialization - This method is called before the SCC's of the program
53 /// whatever action is necessary for the specified SCC. Note that
54 /// non-recursive (or only self-recursive) functions will have an SCC size of
55 /// 1, where recursive portions of the call graph will have SCC size > 1.
57 /// SCC passes that add or delete functions to the SCC are required to update
58 /// the SCC list, otherwise stale pointers may be dereferenced.
59 virtual bool runOnSCC(CallGraphSCC &SCC) = 0;
61 /// doFinalization - This method is called after the SCC'
[all...]
H A DSyntheticCountsUtils.h47 static void propagateFromSCC(const SccTy &SCC, GetProfCountTy GetProfCount,
H A DLazyCallGraph.h20 /// visited prior to a caller (given any SCC constraints), or vice versa. As
71 /// by an edge in the graph, do not invalidate a bottom-up traversal of the SCC
73 /// that functions already visited in a bottom-up order of the SCC DAG are no
75 /// a bottom-up order of the SCC DAG are not required to have already been
79 /// SCC DAG. The greater the fanout of the SCC DAG and the fewer merge points
80 /// in the SCC DAG, the more independence there is in optimizing within it.
116 class SCC;
389 // of an SCC (or RefSCC), or '0' when not yet reached in a DFS walk.
420 /// An SCC o
431 class SCC { class in class:llvm::LazyCallGraph::Edge
439 SCC(RefSCC &OuterRefSCC, NodeRangeT &&Nodes) function in class:llvm::LazyCallGraph::Edge::SCC
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPruneEH.cpp46 // runOnSCC - Analyze the SCC, performing the transformation if possible.
47 bool runOnSCC(CallGraphSCC &SCC) override;
63 static bool runImpl(CallGraphSCC &SCC, CallGraph &CG) { argument
67 // Fill SCCNodes with the elements of the SCC. Used for quickly
68 // looking up whether a given CallGraphNode is in this SCC.
69 for (CallGraphNode *I : SCC)
72 // First pass, scan all of the functions in the SCC, simplifying them
74 for (CallGraphNode *I : SCC)
79 // functions in this SCC: if so, we cannot prune any functions in this SCC
178 runOnSCC(CallGraphSCC &SCC) argument
[all...]
H A DInlineSimple.cpp77 bool runOnSCC(CallGraphSCC &SCC) override;
117 bool SimpleInliner::runOnSCC(CallGraphSCC &SCC) { argument
119 return LegacyInlinerBase::runOnSCC(SCC);
H A DAlwaysInliner.cpp115 bool runOnSCC(CallGraphSCC &SCC) override { return inlineCalls(SCC); }
H A DInliner.cpp166 // When processing our SCC, check to see if CS was inlined from some other
178 if (InlineHistory != -1) // Only do merging for top-level call sites in SCC.
208 // function in this SCC.
501 bool LegacyInlinerBase::runOnSCC(CallGraphSCC &SCC) { argument
502 if (skipSCC(SCC))
504 return inlineCalls(SCC);
528 inlineCallsImpl(CallGraphSCC &SCC, CallGraph &CG, argument
537 LLVM_DEBUG(dbgs() << "Inliner visiting SCC:");
538 for (CallGraphNode *Node : SCC) {
556 for (CallGraphNode *Node : SCC) {
758 inlineCalls(CallGraphSCC &SCC) argument
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUPerfHintAnalysis.h30 bool runOnSCC(CallGraphSCC &SCC) override;
H A DAMDGPUAnnotateKernelFeatures.cpp60 bool runOnSCC(CallGraphSCC &SCC) override;
343 bool AMDGPUAnnotateKernelFeatures::runOnSCC(CallGraphSCC &SCC) { argument
346 for (CallGraphNode *I : SCC) {
H A DAMDGPUInline.cpp74 bool runOnSCC(CallGraphSCC &SCC) override;
99 bool AMDGPUInliner::runOnSCC(CallGraphSCC &SCC) { argument
101 return LegacyInlinerBase::runOnSCC(SCC);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Passes/
H A DStandardInstrumentations.cpp46 if (any_isa<const LazyCallGraph::SCC *>(IR)) {
47 const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
83 void printIR(const LazyCallGraph::SCC *C, StringRef Banner,
127 if (any_isa<const LazyCallGraph::SCC *>(IR)) {
128 const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
/freebsd-11-stable/contrib/llvm-project/llvm/tools/opt/
H A DPassPrinters.cpp77 bool runOnSCC(CallGraphSCC &SCC) override {
82 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DCoroutines.cpp207 // NewFuncs. Builds CGNs for the NewFuncs and adds them to the current SCC.
209 CallGraph &CG, CallGraphSCC &SCC) {
215 SmallVector<CallGraphNode *, 8> Nodes(SCC.begin(), SCC.end());
223 SCC.initialize(Nodes);
208 updateCallGraph(Function &ParentFunc, ArrayRef<Function *> NewFuncs, CallGraph &CG, CallGraphSCC &SCC) argument
H A DCoroSplit.cpp16 // add them to the current SCC and restart the IPO pipeline to optimize the
1360 static void splitCoroutine(Function &F, CallGraph &CG, CallGraphSCC &SCC) { argument
1392 // Update call graph and add the functions we created to the SCC.
1393 coro::updateCallGraph(F, Clones, CG, SCC);
1430 // SCC.
1431 static void createDevirtTriggerFunc(CallGraph &CG, CallGraphSCC &SCC) { argument
1448 SmallVector<CallGraphNode *, 8> Nodes(SCC.begin(), SCC.end());
1450 SCC.initialize(Nodes);
1551 bool runOnSCC(CallGraphSCC &SCC) overrid
[all...]

Completed in 372 milliseconds

12