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

12

/external/llvm/include/llvm/Analysis/
H A DLazyCallGraph.h21 /// 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 o
210 class SCC { class in class:llvm::LazyCallGraph
218 SCC(LazyCallGraph &G) : G(&G) {} function in class:llvm::LazyCallGraph::SCC
[all...]
H A DCGSCCPassManager.h42 /// \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 *
[all...]
H A DCallGraphSCCPass.h13 // 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'
[all...]
H A DInlineCost.h112 bool runOnSCC(CallGraphSCC &SCC) override;
/external/llvm/unittests/Analysis/
H A DLazyCallGraphTest.cpp56 // 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++; local
369 EXPECT_EQ(&SCC, C
638 LazyCallGraph::SCC &SCC = *SCCI++; local
691 LazyCallGraph::SCC &SCC = *SCCI++; local
[all...]
/external/llvm/lib/Analysis/
H A DLazyCallGraph.cpp159 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
701 printSCC(raw_ostream &OS, LazyCallGraph::SCC &SCC) argument
[all...]
H A DCGSCCPassManager.cpp20 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) {
H A DBlockFrequencyInfoImpl.cpp596 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.
668 findIrreducibleHeaders(BFI, G, SCC, Headers, Others);
692 // Translate the SCC into RPO.
593 findIrreducibleHeaders( const BlockFrequencyInfoImplBase &BFI, const IrreducibleGraph &G, const std::vector<const IrreducibleGraph::IrrNode *> &SCC, LoopData::NodeList &Headers, LoopData::NodeList &Others) argument
659 createIrreducibleLoop( BlockFrequencyInfoImplBase &BFI, const IrreducibleGraph &G, LoopData *OuterLoop, std::list<LoopData>::iterator Insert, const std::vector<const IrreducibleGraph::IrrNode *> &SCC) argument
/external/llvm/lib/Transforms/IPO/
H A DInlineAlways.cpp55 bool runOnSCC(CallGraphSCC &SCC) override;
105 bool AlwaysInliner::runOnSCC(CallGraphSCC &SCC) { argument
107 return Inliner::runOnSCC(SCC);
H A DInlineSimple.cpp56 bool runOnSCC(CallGraphSCC &SCC) override;
93 bool SimpleInliner::runOnSCC(CallGraphSCC &SCC) { argument
95 return Inliner::runOnSCC(SCC);
H A DPruneEH.cpp44 // runOnSCC - Analyze the SCC, performing the transformation if possible.
45 bool runOnSCC(CallGraphSCC &SCC) override;
62 bool PruneEH::runOnSCC(CallGraphSCC &SCC) { 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 (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
[all...]
H A DFunctionAttrs.cpp54 // 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
150 AddReadAttrs(const CallGraphSCC &SCC) argument
519 AddArgumentAttrs(const CallGraphSCC &SCC) argument
782 AddNoAliasAttrs(const CallGraphSCC &SCC) argument
1680 annotateLibraryCalls(const CallGraphSCC &SCC) argument
1695 runOnSCC(CallGraphSCC &SCC) argument
[all...]
H A DInliner.cpp163 // 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) { argument
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 t
[all...]
H A DArgumentPromotion.cpp69 bool runOnSCC(CallGraphSCC &SCC) override;
105 bool ArgPromotion::runOnSCC(CallGraphSCC &SCC) { argument
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);
/external/chromium_org/third_party/mesa/src/src/gallium/drivers/radeon/
H A DSIInstrInfo.cpp43 // 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);
H A DSIGenRegisterInfo.pl92 def SCC : SIReg<"SCC">;
171 def SCCReg : RegisterClass<"AMDGPU", [i1], 1, (add SCC)>;
/external/mesa3d/src/gallium/drivers/radeon/
H A DSIInstrInfo.cpp43 // 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);
H A DSIGenRegisterInfo.pl92 def SCC : SIReg<"SCC">;
171 def SCCReg : RegisterClass<"AMDGPU", [i1], 1, (add SCC)>;
/external/llvm/lib/Analysis/IPA/
H A DGlobalsModRef.cpp359 // We do a bottom-up SCC traversal of the call graph. In other words, we
362 const std::vector<CallGraphNode *> &SCC = *I; local
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[
[all...]
H A DCallGraphSCCPass.cpp13 // call-graph in SCC order: that is, they process function bottom-up, except for
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.
352 dbgs() << "CGSCCPASSMGR: Refreshed SCC is now:\n";
360 dbgs() << "CGSCCPASSMGR: SCC Refres
[all...]
/external/llvm/include/llvm/Transforms/IPO/
H A DInlinerPass.h43 bool runOnSCC(CallGraphSCC &SCC) override;
47 // processing to avoid breaking the SCC traversal.
/external/llvm/tools/opt/
H A DPassPrinters.cpp72 bool runOnSCC(CallGraphSCC &SCC) override {
77 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
H A DPasses.cpp37 PreservedAnalyses run(LazyCallGraph::SCC *C) {
/external/llvm/unittests/ADT/
H A DSCCIteratorTest.cpp247 // 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 i
[all...]
/external/chromium_org/third_party/yasm/source/patched-yasm/tools/re2c/
H A Dcode.c636 typedef struct SCC { struct
638 } SCC; typedef in typeref:struct: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 *
[all...]

Completed in 4427 milliseconds

12