/external/llvm/include/llvm/Analysis/ |
H A D | 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 o 210 class SCC { class in class:llvm::LazyCallGraph 218 SCC(LazyCallGraph &G) : G(&G) {} function in class:llvm::LazyCallGraph::SCC [all...] |
H A D | CGSCCPassManager.h | 32 /// a sequency of SCC passes over each SCC that the manager is run over. This 34 typedef PassManager<LazyCallGraph::SCC> CGSCCPassManager; 42 typedef AnalysisManager<LazyCallGraph::SCC> CGSCCAnalysisManager; 74 /// *all* cached data associated with a \c SCC* in the \c 151 bool invalidate(LazyCallGraph::SCC &) { return false; } 178 Result run(LazyCallGraph::SCC &) { return Result(*MAM); } 217 /// \brief Runs the CGSCC pass across every SCC in the module. 229 for (LazyCallGraph::SCC &C : CG.postorder_sccs()) { 233 // SCC' [all...] |
H A D | 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' [all...] |
H A D | InlineCost.h | 114 bool runOnSCC(CallGraphSCC &SCC) override;
|
/external/llvm/unittests/Analysis/ |
H A D | LazyCallGraphTest.cpp | 55 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 D | CGSCCPassManager.cpp | 33 // individual CGSCC analyses, there may be an invalid set of SCC objects in 48 FunctionAnalysisManagerCGSCCProxy::run(LazyCallGraph::SCC &C) { 60 LazyCallGraph::SCC &C, const PreservedAnalyses &PA) {
|
H A D | 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 701 printSCC(raw_ostream &OS, LazyCallGraph::SCC &SCC) argument [all...] |
H A D | GlobalsModRef.cpp | 472 // We do a bottom-up SCC traversal of the call graph. In other words, we 476 const std::vector<CallGraphNode *> &SCC = *I; local 477 assert(!SCC.empty() && "SCC with no functions?"); 479 for (auto *CGN : SCC) 491 // We do a bottom-up SCC traversal of the call graph. In other words, we 494 const std::vector<CallGraphNode *> &SCC = *I; local 495 assert(!SCC.empty() && "SCC with no functions?"); 497 if (!SCC[ [all...] |
H A D | CallGraphSCCPass.cpp | 13 // 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. 159 DEBUG(dbgs() << "CGSCCPASSMGR: Pass Dirtied SCC: " 181 DEBUG(dbgs() << "CGSCCPASSMGR: Refreshing SCC with " << CurSCC.size() 190 // Scan all functions in the SCC. 362 dbgs() << "CGSCCPASSMGR: Refreshed SCC is now:\n"; 369 dbgs() << "CGSCCPASSMGR: SCC Refres [all...] |
H A D | BlockFrequencyInfoImpl.cpp | 617 const std::vector<const IrreducibleGraph::IrrNode *> &SCC, 619 // Map from nodes in the SCC to whether it's an entry block. 623 for (const auto *I : SCC) 684 const std::vector<const IrreducibleGraph::IrrNode *> &SCC) { 685 // Translate the SCC into RPO. 690 findIrreducibleHeaders(BFI, G, SCC, Headers, Others); 714 // Translate the SCC into RPO. 614 findIrreducibleHeaders( const BlockFrequencyInfoImplBase &BFI, const IrreducibleGraph &G, const std::vector<const IrreducibleGraph::IrrNode *> &SCC, LoopData::NodeList &Headers, LoopData::NodeList &Others) argument 681 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 D | InlineAlways.cpp | 57 bool runOnSCC(CallGraphSCC &SCC) override; 109 bool AlwaysInliner::runOnSCC(CallGraphSCC &SCC) { argument 111 return Inliner::runOnSCC(SCC);
|
H A D | InlineSimple.cpp | 58 bool runOnSCC(CallGraphSCC &SCC) override; 97 bool SimpleInliner::runOnSCC(CallGraphSCC &SCC) { argument 99 return Inliner::runOnSCC(SCC);
|
H A D | PruneEH.cpp | 47 // runOnSCC - Analyze the SCC, performing the transformation if possible. 48 bool runOnSCC(CallGraphSCC &SCC) override; 65 bool PruneEH::runOnSCC(CallGraphSCC &SCC) { argument 70 // Fill SCCNodes with the elements of the SCC. Used for quickly 71 // looking up whether a given CallGraphNode is in this SCC. 72 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) 75 // First pass, scan all of the functions in the SCC, simplifying them 77 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC [all...] |
H A D | Inliner.cpp | 174 // When processing our SCC, check to see if CS was inlined from some other 186 if (InlineHistory != -1) // Only do merging for top-level call sites in SCC. 217 // function in this SCC. 473 bool Inliner::runOnSCC(CallGraphSCC &SCC) { argument 479 DEBUG(dbgs() << "Inliner visiting SCC:"); 480 for (CallGraphNode *Node : SCC) { 497 for (CallGraphNode *Node : SCC) { 527 // current SCC to the end of the list. 625 // TODO: Can remove if in SCC now. 646 // move a call site to a function in this SCC befor [all...] |
H A D | ArgumentPromotion.cpp | 74 bool runOnSCC(CallGraphSCC &SCC) override; 114 bool ArgPromotion::runOnSCC(CallGraphSCC &SCC) { argument 117 do { // Iterate until we stop promoting from this SCC. 119 // Attempt to promote arguments from all functions in this SCC. 120 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) { 123 SCC.ReplaceNode(*I, CGN);
|
H A D | FunctionAttrs.cpp | 74 bool runOnSCC(CallGraphSCC &SCC) override; 141 // Ignore calls to functions in the same SCC. 219 /// Deduce readonly/readnone attributes for the SCC. 222 // Check if any of the functions in the SCC read or write memory. If they 241 // Success! Functions in this SCC do not access memory, or only read memory. 277 /// in the same SCC that the pointer data flows into. We use this to build an 278 /// SCC of the arguments. 316 /// This tracker checks whether callees are in the SCC, and if so it does not 354 // use. In this case it does not matter if the callee is within our SCC 371 bool Captured; // True only if certainly captured (used outside our SCC) [all...] |
/external/mesa3d/src/gallium/drivers/radeon/ |
H A D | 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);
|
H A D | SIGenRegisterInfo.pl | 92 def SCC : SIReg<"SCC">; 171 def SCCReg : RegisterClass<"AMDGPU", [i1], 1, (add SCC)>;
|
/external/llvm/include/llvm/Transforms/IPO/ |
H A D | InlinerPass.h | 43 bool runOnSCC(CallGraphSCC &SCC) override; 47 // processing to avoid breaking the SCC traversal.
|
/external/llvm/tools/opt/ |
H A D | PassPrinters.cpp | 72 bool runOnSCC(CallGraphSCC &SCC) override { 77 for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
|
/external/llvm/unittests/ADT/ |
H A D | SCCIteratorTest.cpp | 245 // Test SCC computation against every graph with NUM_NODES nodes or less. 246 // Since SCC considers every node to have an implicit self-edge, we only 272 // Test the SCC logic on this graph. 274 /// NodesInSomeSCC - Those nodes which are in some SCC. 278 const std::vector<GT::NodeType *> &SCC = *I; 280 // Get the nodes in this SCC as a NodeSubset rather than a vector. 282 for (unsigned i = 0, e = SCC.size(); i != e; ++i) 283 NodesInThisSCC.AddNode(SCC[i]->first); 285 // There should be at least one node in every SCC. 288 // Check that every node in the SCC i [all...] |
/external/llvm/lib/Passes/ |
H A D | PassBuilder.cpp | 64 PreservedAnalyses run(LazyCallGraph::SCC &C) { 73 Result run(LazyCallGraph::SCC &) { return Result(); }
|
/external/llvm/lib/CodeGen/SelectionDAG/ |
H A D | DAGCombiner.cpp | 5670 SDValue SCC = SimplifySetCC(getSetCCResultType(N0.getValueType()), 5672 if (SCC.getNode()) { 5673 AddToWorklist(SCC.getNode()); 5675 if (ConstantSDNode *SCCC = dyn_cast<ConstantSDNode>(SCC.getNode())) { 5680 } else if (SCC->getOpcode() == ISD::UNDEF) { 5684 } else if (SCC.getOpcode() == ISD::SETCC) { 5687 SCC.getOperand(0), SCC.getOperand(1), N2, N3, 5688 SCC.getOperand(2)); 6154 SDValue SCC local 6485 SDValue SCC = local 6664 SDValue SCC = local 13796 SDValue SCC = SimplifySelectCC(DL, N0.getOperand(0), N0.getOperand(1), N1, N2, local 13987 SDValue SCC = SimplifySetCC(getSetCCResultType(N0.getValueType()), local 14156 SDValue Temp, SCC; local [all...] |
/external/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUAsmPrinter.cpp | 353 case AMDGPU::SCC:
|
/external/llvm/lib/Target/AMDGPU/InstPrinter/ |
H A D | AMDGPUInstPrinter.cpp | 136 case AMDGPU::SCC:
|