/external/llvm/include/llvm/Analysis/ |
LazyCallGraph.h | 21 /// visited prior to a caller (given any SCC constraints), or vice versa. As 62 /// by an edge in the graph, do not invalidate a bottom-up traversal of the SCC 64 /// that functions already visited in a bottom-up order of the SCC DAG are no 66 /// a bottom-up order of the SCC DAG are not required to have already been 70 /// SCC DAG. The greater the fanout of the SCC DAG and the fewer merge points 71 /// in the SCC DAG, the more independence there is in optimizing within it. 106 class SCC; 162 friend class LazyCallGraph::SCC; 205 /// \brief An SCC of the call graph [all...] |
CGSCCPassManager.h | 42 /// \brief Run all of the CGSCC passes in this pass manager over a SCC. 43 PreservedAnalyses run(LazyCallGraph::SCC *C, 54 typedef detail::PassConcept<LazyCallGraph::SCC *, CGSCCAnalysisManager> 58 : detail::PassModel<LazyCallGraph::SCC *, CGSCCAnalysisManager, PassT> { 60 : detail::PassModel<LazyCallGraph::SCC *, CGSCCAnalysisManager, PassT>( 73 CGSCCAnalysisManager, LazyCallGraph::SCC *> { 75 LazyCallGraph::SCC *>; 77 LazyCallGraph::SCC *> BaseT; 113 ResultConceptT &getResultImpl(void *PassID, LazyCallGraph::SCC *C); 117 LazyCallGraph::SCC *C) const [all...] |
CallGraphSCCPass.h | 13 // 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. 60 virtual bool runOnSCC(CallGraphSCC &SCC) = 0; 62 /// doFinalization - This method is called after the SCC's of the program ha [all...] |
InlineCost.h | 112 bool runOnSCC(CallGraphSCC &SCC) override;
|
/external/llvm/unittests/Analysis/ |
LazyCallGraphTest.cpp | 56 // All call edges go up between SCCs, and clockwise around the SCC. 208 LazyCallGraph::SCC &D = *SCCI++; 222 LazyCallGraph::SCC &C = *SCCI++; 236 LazyCallGraph::SCC &B = *SCCI++; 252 LazyCallGraph::SCC &A = *SCCI++; 327 // Two interlocking cycles. The really useful thing about this SCC is that it 329 // children of each node in the SCC. 361 LazyCallGraph::SCC &SCC = *SCCI++; 369 EXPECT_EQ(&SCC, CG.lookupSCC(A)) [all...] |
/external/llvm/lib/Analysis/ |
LazyCallGraph.cpp | 159 void LazyCallGraph::SCC::insert(Node &N) { 165 bool LazyCallGraph::SCC::isDescendantOf(const SCC &C) const { 166 // Walk up the parents of this SCC and verify that we eventually find C. 167 SmallVector<const SCC *, 4> AncestorWorklist; 170 const SCC *AncestorC = AncestorWorklist.pop_back_val(); 173 for (const SCC *ParentC : AncestorC->ParentSCCs) 180 void LazyCallGraph::SCC::insertIntraSCCEdge(Node &CallerN, Node &CalleeN) { 184 assert(G->SCCMap.lookup(&CallerN) == this && "Caller must be in this SCC."); 185 assert(G->SCCMap.lookup(&CalleeN) == this && "Callee must be in this SCC.") [all...] |
CGSCCPassManager.cpp | 20 PreservedAnalyses CGSCCPassManager::run(LazyCallGraph::SCC *C, 56 CGSCCAnalysisManager::getResultImpl(void *PassID, LazyCallGraph::SCC *C) { 75 LazyCallGraph::SCC *C) const { 81 void CGSCCAnalysisManager::invalidateImpl(void *PassID, LazyCallGraph::SCC *C) { 90 void CGSCCAnalysisManager::invalidateImpl(LazyCallGraph::SCC *C, 128 // individual CGSCC analyses, there may be an invalid set of SCC objects in 143 FunctionAnalysisManagerCGSCCProxy::run(LazyCallGraph::SCC *C) { 155 LazyCallGraph::SCC *C, const PreservedAnalyses &PA) {
|
BlockFrequencyInfoImpl.cpp | 596 const std::vector<const IrreducibleGraph::IrrNode *> &SCC, 598 // Map from nodes in the SCC to whether it's an entry block. 602 for (const auto *I : SCC) 662 const std::vector<const IrreducibleGraph::IrrNode *> &SCC) { 663 // Translate the SCC into RPO. 664 DEBUG(dbgs() << " - found-scc\n"); 668 findIrreducibleHeaders(BFI, G, SCC, Headers, Others); 692 // Translate the SCC into RPO.
|
/external/llvm/lib/Transforms/IPO/ |
InlineAlways.cpp | 55 bool runOnSCC(CallGraphSCC &SCC) override; 105 bool AlwaysInliner::runOnSCC(CallGraphSCC &SCC) { 107 return Inliner::runOnSCC(SCC);
|
InlineSimple.cpp | 56 bool runOnSCC(CallGraphSCC &SCC) override; 93 bool SimpleInliner::runOnSCC(CallGraphSCC &SCC) { 95 return Inliner::runOnSCC(SCC);
|
PruneEH.cpp | 44 // runOnSCC - Analyze the SCC, performing the transformation if possible. 45 bool runOnSCC(CallGraphSCC &SCC) override; 62 bool PruneEH::runOnSCC(CallGraphSCC &SCC) { 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 (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) 72 // First pass, scan all of the functions in the SCC, simplifying them 74 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I [all...] |
FunctionAttrs.cpp | 54 // runOnSCC - Analyze the SCC, performing the transformation if possible. 55 bool runOnSCC(CallGraphSCC &SCC) override; 57 // AddReadAttrs - Deduce readonly/readnone attributes for the SCC. 58 bool AddReadAttrs(const CallGraphSCC &SCC); 60 // AddArgumentAttrs - Deduce nocapture attributes for the SCC. 61 bool AddArgumentAttrs(const CallGraphSCC &SCC); 67 // AddNoAliasAttrs - Deduce noalias attributes for the SCC. 68 bool AddNoAliasAttrs(const CallGraphSCC &SCC); 122 bool annotateLibraryCalls(const CallGraphSCC &SCC); 149 /// AddReadAttrs - Deduce readonly/readnone attributes for the SCC [all...] |
Inliner.cpp | 163 // When processing our SCC, check to see if CS was inlined from some other 175 if (InlineHistory != -1) // Only do merging for top-level call sites in SCC. 212 // function in this SCC. 441 bool Inliner::runOnSCC(CallGraphSCC &SCC) { 448 DEBUG(dbgs() << "Inliner visiting SCC:"); 449 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) { 466 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) { 495 // current SCC to the end of the list [all...] |
ArgumentPromotion.cpp | 69 bool runOnSCC(CallGraphSCC &SCC) override; 105 bool ArgPromotion::runOnSCC(CallGraphSCC &SCC) { 111 do { // Iterate until we stop promoting from this SCC. 113 // Attempt to promote arguments from all functions in this SCC. 114 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) { 117 SCC.ReplaceNode(*I, CGN); [all...] |
/external/llvm/include/llvm/Transforms/IPO/ |
InlinerPass.h | 43 bool runOnSCC(CallGraphSCC &SCC) override; 47 // processing to avoid breaking the SCC traversal.
|
/external/chromium_org/third_party/mesa/src/src/gallium/drivers/radeon/ |
SIInstrInfo.cpp | 43 // If we are trying to copy to or from SCC, there is a bug somewhere else in 46 assert(DestReg != AMDGPU::SCC && SrcReg != AMDGPU::SCC);
|
SIGenRegisterInfo.pl | 92 def SCC : SIReg<"SCC">; 171 def SCCReg : RegisterClass<"AMDGPU", [i1], 1, (add SCC)>;
|
/external/mesa3d/src/gallium/drivers/radeon/ |
SIInstrInfo.cpp | 43 // If we are trying to copy to or from SCC, there is a bug somewhere else in 46 assert(DestReg != AMDGPU::SCC && SrcReg != AMDGPU::SCC);
|
SIGenRegisterInfo.pl | 92 def SCC : SIReg<"SCC">; 171 def SCCReg : RegisterClass<"AMDGPU", [i1], 1, (add SCC)>;
|
/external/llvm/lib/Analysis/IPA/ |
GlobalsModRef.cpp | 359 // We do a bottom-up SCC traversal of the call graph. In other words, we 362 const std::vector<CallGraphNode *> &SCC = *I; 363 assert(!SCC.empty() && "SCC with no functions?"); 365 if (!SCC[0]->getFunction()) { 368 for (unsigned i = 0, e = SCC.size(); i != e; ++i) 369 FunctionInfo.erase(SCC[i]->getFunction()); 373 FunctionRecord &FR = FunctionInfo[SCC[0]->getFunction()]; 380 for (unsigned i = 0, e = SCC.size(); i != e && !KnowNothing; ++i) { 381 Function *F = SCC[i]->getFunction() [all...] |
CallGraphSCCPass.cpp | 13 // call-graph in SCC order: that is, they process function bottom-up, except for 35 MaxIterations("max-cg-scc-iterations", cl::ReallyHidden, cl::init(4)); 37 STATISTIC(MaxSCCIterations, "Maximum CGSCCPassMgr iterations on one SCC"); 64 // CGPassManager walks SCC and it needs CallGraph. 78 errs().indent(Offset*2) << "Call Graph SCC Pass Manager\n"; 144 // Run pass P on all functions in the current SCC. 160 DEBUG(dbgs() << "CGSCCPASSMGR: Pass Dirtied SCC: " 182 DEBUG(dbgs() << "CGSCCPASSMGR: Refreshing SCC with " << CurSCC.size() 192 // Scan all functions in the SCC. 346 // large scc's [all...] |
/external/llvm/tools/opt/ |
PassPrinters.cpp | 72 bool runOnSCC(CallGraphSCC &SCC) override { 77 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
|
Passes.cpp | 37 PreservedAnalyses run(LazyCallGraph::SCC *C) {
|
/external/llvm/unittests/ADT/ |
SCCIteratorTest.cpp | 247 // Test SCC computation against every graph with NUM_NODES nodes or less. 248 // Since SCC considers every node to have an implicit self-edge, we only 274 // Test the SCC logic on this graph. 276 /// NodesInSomeSCC - Those nodes which are in some SCC. 280 const std::vector<GT::NodeType *> &SCC = *I; 282 // Get the nodes in this SCC as a NodeSubset rather than a vector. 284 for (unsigned i = 0, e = SCC.size(); i != e; ++i) 285 NodesInThisSCC.AddNode(SCC[i]->first); 287 // There should be at least one node in every SCC. 290 // Check that every node in the SCC is reachable from every other node i [all...] |
/external/chromium_org/third_party/yasm/source/patched-yasm/tools/re2c/ |
code.c | 636 typedef struct SCC { 638 } SCC; 640 static void SCC_init(SCC*, unsigned int); 641 static SCC *SCC_new(unsigned int); 642 static void SCC_destroy(SCC*); 643 static void SCC_delete(SCC*); 644 static void SCC_traverse(SCC*, State*); 647 SCC_init(SCC *s, unsigned int size) 652 static SCC * 654 SCC *s = malloc(sizeof(SCC)) 729 SCC scc; local [all...] |