/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/Transforms/IPO/ |
H A D | ArgumentPromotion.h | 20 /// This pass walks the functions in each SCC and for each one tries to 29 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
|
H A D | Inliner.h | 43 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 D | FunctionAttrs.h | 51 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | SyntheticCountsUtils.cpp | 25 // 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 D | CGSCCPassManager.cpp | 39 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 D | LazyCallGraph.cpp | 226 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 D | GlobalsModRef.cpp | 471 // 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 D | CallGraphSCCPass.cpp | 12 // 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 D | DependenceGraphBuilder.cpp | 96 // 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 D | DDG.cpp | 187 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 D | CGSCCPassManager.h | 66 /// 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 D | CallGraphSCCPass.h | 12 // 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 D | SyntheticCountsUtils.h | 47 static void propagateFromSCC(const SccTy &SCC, GetProfCountTy GetProfCount,
|
H A D | LazyCallGraph.h | 20 /// 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 D | PruneEH.cpp | 46 // 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 D | InlineSimple.cpp | 77 bool runOnSCC(CallGraphSCC &SCC) override; 117 bool SimpleInliner::runOnSCC(CallGraphSCC &SCC) { argument 119 return LegacyInlinerBase::runOnSCC(SCC);
|
H A D | AlwaysInliner.cpp | 115 bool runOnSCC(CallGraphSCC &SCC) override { return inlineCalls(SCC); }
|
H A D | Inliner.cpp | 166 // 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 D | AMDGPUPerfHintAnalysis.h | 30 bool runOnSCC(CallGraphSCC &SCC) override;
|
H A D | AMDGPUAnnotateKernelFeatures.cpp | 60 bool runOnSCC(CallGraphSCC &SCC) override; 343 bool AMDGPUAnnotateKernelFeatures::runOnSCC(CallGraphSCC &SCC) { argument 346 for (CallGraphNode *I : SCC) {
|
H A D | AMDGPUInline.cpp | 74 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 D | StandardInstrumentations.cpp | 46 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 D | PassPrinters.cpp | 77 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 D | Coroutines.cpp | 207 // 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 D | CoroSplit.cpp | 16 // 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...] |