|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/IR/PassManagerInternal.h 137 template <typename T> struct Checker : CheckerBase, T {};
References
include/llvm/Analysis/CGSCCPassManager.h 129 AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
129 AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
137 CGSCCUpdateResult &>::run(LazyCallGraph::SCC &InitialC,
139 LazyCallGraph &G, CGSCCUpdateResult &UR);
149 PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &,
149 PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &,
154 struct RequireAnalysisPass<AnalysisT, LazyCallGraph::SCC, CGSCCAnalysisManager,
155 LazyCallGraph &, CGSCCUpdateResult &>
156 : PassInfoMixin<RequireAnalysisPass<AnalysisT, LazyCallGraph::SCC,
157 CGSCCAnalysisManager, LazyCallGraph &,
159 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
160 LazyCallGraph &CG, CGSCCUpdateResult &) {
175 explicit Result(CGSCCAnalysisManager &InnerAM, LazyCallGraph &G)
196 LazyCallGraph *G;
214 OuterAnalysisManagerProxy<ModuleAnalysisManager, LazyCallGraph::SCC,
215 LazyCallGraph &>;
242 SmallPriorityWorklist<LazyCallGraph::RefSCC *, 1> &RCWorklist;
257 SmallPriorityWorklist<LazyCallGraph::SCC *, 1> &CWorklist;
265 SmallPtrSetImpl<LazyCallGraph::RefSCC *> &InvalidatedRefSCCs;
273 SmallPtrSetImpl<LazyCallGraph::SCC *> &InvalidatedSCCs;
283 LazyCallGraph::RefSCC *UpdatedRC;
293 LazyCallGraph::SCC *UpdatedC;
316 SmallDenseSet<std::pair<LazyCallGraph::Node *, LazyCallGraph::SCC *>, 4>
316 SmallDenseSet<std::pair<LazyCallGraph::Node *, LazyCallGraph::SCC *>, 4>
389 bool invalidate(LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
397 Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &);
397 Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &);
417 LazyCallGraph::SCC &updateCGAndAnalysisManagerForFunctionPass(
418 LazyCallGraph &G, LazyCallGraph::SCC &C, LazyCallGraph::Node &N,
418 LazyCallGraph &G, LazyCallGraph::SCC &C, LazyCallGraph::Node &N,
418 LazyCallGraph &G, LazyCallGraph::SCC &C, LazyCallGraph::Node &N,
455 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
456 LazyCallGraph &CG, CGSCCUpdateResult &UR) {
461 SmallVector<LazyCallGraph::Node *, 4> Nodes;
462 for (LazyCallGraph::Node &N : C)
468 LazyCallGraph::SCC *CurrentC = &C;
474 for (LazyCallGraph::Node *N : Nodes) {
561 PreservedAnalyses run(LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM,
562 LazyCallGraph &CG, CGSCCUpdateResult &UR) {
569 LazyCallGraph::SCC *C = &InitialC;
589 for (LazyCallGraph::Node &N : C) {
612 if (!PI.runBeforePass<LazyCallGraph::SCC>(Pass, *C))
618 PI.runAfterPassInvalidated<LazyCallGraph::SCC>(Pass);
620 PI.runAfterPass<LazyCallGraph::SCC>(Pass, *C);
742 LazyCallGraph &CG = AM.getResult<LazyCallGraphAnalysis>(M);
746 SmallPriorityWorklist<LazyCallGraph::RefSCC *, 1> RCWorklist;
747 SmallPriorityWorklist<LazyCallGraph::SCC *, 1> CWorklist;
751 SmallPtrSet<LazyCallGraph::RefSCC *, 4> InvalidRefSCCSet;
752 SmallPtrSet<LazyCallGraph::SCC *, 4> InvalidSCCSet;
754 SmallDenseSet<std::pair<LazyCallGraph::Node *, LazyCallGraph::SCC *>, 4>
754 SmallDenseSet<std::pair<LazyCallGraph::Node *, LazyCallGraph::SCC *>, 4>
786 LazyCallGraph::RefSCC *RC = RCWorklist.pop_back_val();
800 for (LazyCallGraph::SCC &C : llvm::reverse(*RC))
804 LazyCallGraph::SCC *C = CWorklist.pop_back_val();
860 if (!PI.runBeforePass<LazyCallGraph::SCC>(Pass, *C))
866 PI.runAfterPassInvalidated<LazyCallGraph::SCC>(Pass);
868 PI.runAfterPass<LazyCallGraph::SCC>(Pass, *C);
928 PA.preserveSet<AllAnalysesOn<LazyCallGraph::SCC>>();
include/llvm/Analysis/LazyCallGraph.h 332 LazyCallGraph &getGraph() const { return *G; }
384 LazyCallGraph *G;
397 Node(LazyCallGraph &G, Function &F) : G(&G), F(&F) {}
457 for (LazyCallGraph::Node &N : C) {
551 LazyCallGraph *G;
561 RefSCC(LazyCallGraph &G);
578 for (LazyCallGraph::SCC &C : RC) {
895 LazyCallGraph *G;
899 postorder_ref_scc_iterator(LazyCallGraph &G) : G(&G), RC(getRC(G, 0)) {}
902 postorder_ref_scc_iterator(LazyCallGraph &G, IsAtEndT /*Nonce*/) : G(&G) {}
906 static RefSCC *getRC(LazyCallGraph &G, int Index) {
937 LazyCallGraph(LazyCallGraph &&G);
938 LazyCallGraph &operator=(LazyCallGraph &&RHS);
938 LazyCallGraph &operator=(LazyCallGraph &&RHS);
1174 template <typename... Ts> RefSCC *createRefSCC(Ts &&... Args) {
1218 inline LazyCallGraph::Edge::Kind LazyCallGraph::Edge::getKind() const {
1228 inline LazyCallGraph::Node &LazyCallGraph::Edge::getNode() const {
1240 using NodeRef = LazyCallGraph::Node *;
1241 using ChildIteratorType = LazyCallGraph::EdgeSequence::iterator;
1248 using NodeRef = LazyCallGraph::Node *;
1249 using ChildIteratorType = LazyCallGraph::EdgeSequence::iterator;
1264 using Result = LazyCallGraph;
1270 LazyCallGraph run(Module &M, ModuleAnalysisManager &AM) {
include/llvm/IR/PassManager.h 598 Result run(IRUnitT &, AnalysisManagerT &, ExtraArgTs &&...) {
1386 PreservedAnalyses run(IRUnitT &Arg, AnalysisManagerT &AM, ExtraArgTs &&...) {
1400 PreservedAnalyses run(IRUnitT &, AnalysisManagerT &, ExtraArgTs &&...) {
1415 PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM, Ts &&... Args) {
include/llvm/IR/PassManagerInternal.h 137 template <typename T> struct Checker : CheckerBase, T {};
139 static decltype(NonceFunction(&Checker<T>::invalidate)) check(rank<1>);
147 enum { Value = sizeof(check<ResultT>(rank<2>())) == sizeof(EnabledType) };
169 explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
198 ResultT Result;
include/llvm/Transforms/IPO/ArgumentPromotion.h 29 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
30 LazyCallGraph &CG, CGSCCUpdateResult &UR);
include/llvm/Transforms/IPO/FunctionAttrs.h 51 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
52 LazyCallGraph &CG, CGSCCUpdateResult &UR);
include/llvm/Transforms/IPO/Inliner.h 103 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
104 LazyCallGraph &CG, CGSCCUpdateResult &UR);
lib/Analysis/CGSCCPassManager.cpp 53 CGSCCUpdateResult &>::run(LazyCallGraph::SCC &InitialC,
55 LazyCallGraph &G, CGSCCUpdateResult &UR) {
68 LazyCallGraph::SCC *C = &InitialC;
82 PI.runAfterPassInvalidated<LazyCallGraph::SCC>(*Pass);
84 PI.runAfterPass<LazyCallGraph::SCC>(*Pass, *C);
123 PA.preserveSet<AllAnalysesOn<LazyCallGraph::SCC>>();
161 PA.allAnalysesInSetPreserved<AllAnalysesOn<LazyCallGraph::SCC>>();
218 FunctionAnalysisManagerCGSCCProxy::run(LazyCallGraph::SCC &C,
220 LazyCallGraph &CG) {
241 LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
256 if (!PAC.preserved() && !PAC.preservedSet<AllAnalysesOn<LazyCallGraph::SCC>>()) {
257 for (LazyCallGraph::Node &N : C)
269 for (LazyCallGraph::Node &N : C) {
321 static void updateNewSCCFunctionAnalyses(LazyCallGraph::SCC &C,
322 LazyCallGraph &G,
330 for (LazyCallGraph::Node &N : C) {
365 static LazyCallGraph::SCC *
366 incorporateNewSCCRange(const SCCRangeT &NewSCCRange, LazyCallGraph &G,
367 LazyCallGraph::Node &N, LazyCallGraph::SCC *C,
367 LazyCallGraph::Node &N, LazyCallGraph::SCC *C,
369 using SCC = LazyCallGraph::SCC;
426 LazyCallGraph::SCC &llvm::updateCGAndAnalysisManagerForFunctionPass(
427 LazyCallGraph &G, LazyCallGraph::SCC &InitialC, LazyCallGraph::Node &N,
427 LazyCallGraph &G, LazyCallGraph::SCC &InitialC, LazyCallGraph::Node &N,
427 LazyCallGraph &G, LazyCallGraph::SCC &InitialC, LazyCallGraph::Node &N,
429 using Node = LazyCallGraph::Node;
430 using Edge = LazyCallGraph::Edge;
431 using SCC = LazyCallGraph::SCC;
432 using RefSCC = LazyCallGraph::RefSCC;
492 LazyCallGraph::visitReferences(Worklist, Visited, VisitRef);
lib/Analysis/LazyCallGraph.cpp 62 static void addEdge(SmallVectorImpl<LazyCallGraph::Edge> &Edges,
63 DenseMap<LazyCallGraph::Node *, int> &EdgeIndexMap,
64 LazyCallGraph::Node &N, LazyCallGraph::Edge::Kind EK) {
64 LazyCallGraph::Node &N, LazyCallGraph::Edge::Kind EK) {
72 LazyCallGraph::EdgeSequence &LazyCallGraph::Node::populateSlow() {
108 LazyCallGraph::Edge::Call);
122 LazyCallGraph::Edge::Ref);
130 LazyCallGraph::Edge::Ref);
202 LazyCallGraph::Edge::Ref);
206 LazyCallGraph::LazyCallGraph(LazyCallGraph &&G)
214 LazyCallGraph &LazyCallGraph::operator=(LazyCallGraph &&G) {
214 LazyCallGraph &LazyCallGraph::operator=(LazyCallGraph &&G) {
267 LazyCallGraph &G = *OuterRefSCC->G;
297 LazyCallGraph::RefSCC::RefSCC(LazyCallGraph &G) : G(&G) {}
700 iterator_range<LazyCallGraph::RefSCC::iterator>
964 SmallVector<LazyCallGraph::RefSCC *, 1>
1127 SmallVector<LazyCallGraph::RefSCC *, 1>
1556 LazyCallGraph::Node &LazyCallGraph::insertInto(Function &F, Node *&MappedN) {
1745 static void printNode(raw_ostream &OS, LazyCallGraph::Node &N) {
1747 for (LazyCallGraph::Edge &E : N.populate())
1754 static void printSCC(raw_ostream &OS, LazyCallGraph::SCC &C) {
1757 for (LazyCallGraph::Node &N : C)
1761 static void printRefSCC(raw_ostream &OS, LazyCallGraph::RefSCC &C) {
1764 for (LazyCallGraph::SCC &InnerC : C)
1772 LazyCallGraph &G = AM.getResult<LazyCallGraphAnalysis>(M);
1781 for (LazyCallGraph::RefSCC &C : G.postorder_ref_sccs())
1790 static void printNodeDOT(raw_ostream &OS, LazyCallGraph::Node &N) {
1793 for (LazyCallGraph::Edge &E : N.populate()) {
1806 LazyCallGraph &G = AM.getResult<LazyCallGraphAnalysis>(M);
lib/Passes/PassBuilder.cpp 276 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &,
277 LazyCallGraph &, CGSCCUpdateResult &UR) {
290 Result run(LazyCallGraph::SCC &, CGSCCAnalysisManager &, LazyCallGraph &G) {
290 Result run(LazyCallGraph::SCC &, CGSCCAnalysisManager &, LazyCallGraph &G) {
lib/Passes/StandardInstrumentations.cpp 46 if (any_isa<const LazyCallGraph::SCC *>(IR)) {
47 const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
47 const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
48 for (const LazyCallGraph::Node &N : *C) {
83 void printIR(const LazyCallGraph::SCC *C, StringRef Banner,
86 for (const LazyCallGraph::Node &N : *C) {
127 if (any_isa<const LazyCallGraph::SCC *>(IR)) {
128 const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
128 const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
lib/Transforms/IPO/ArgumentPromotion.cpp 1020 PreservedAnalyses ArgumentPromotionPass::run(LazyCallGraph::SCC &C,
1022 LazyCallGraph &CG,
1030 for (LazyCallGraph::Node &N : C) {
lib/Transforms/IPO/FunctionAttrs.cpp 1409 PreservedAnalyses PostOrderFunctionAttrsPass::run(LazyCallGraph::SCC &C,
1411 LazyCallGraph &CG,
1427 for (LazyCallGraph::Node &N : C) {
lib/Transforms/IPO/Inliner.cpp 873 PreservedAnalyses InlinerPass::run(LazyCallGraph::SCC &InitialC,
874 CGSCCAnalysisManager &AM, LazyCallGraph &CG,
978 LazyCallGraph::Node &N = *CG.lookup(F);
1155 LazyCallGraph::Node &CalleeN = *CG.lookup(*InlinedCallee);
1156 for (LazyCallGraph::Edge &E : *CalleeN)
1166 LazyCallGraph::SCC *OldC = C;
unittests/Analysis/CGSCCPassManagerTest.cpp 57 Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &) {
57 Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &) {
139 PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
140 LazyCallGraph &CG, CGSCCUpdateResult &UR) {
144 std::function<PreservedAnalyses(LazyCallGraph::SCC &, CGSCCAnalysisManager &,
145 LazyCallGraph &, CGSCCUpdateResult &)>
294 for (LazyCallGraph::Node &N : C) {
850 bool invalidate(LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
854 PAC.preservedSet<AllAnalysesOn<LazyCallGraph::SCC>>()) ||
862 Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
863 LazyCallGraph &CG) {
903 bool invalidate(LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
907 PAC.preservedSet<AllAnalysesOn<LazyCallGraph::SCC>>()) ||
915 Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
916 LazyCallGraph &CG) {
971 const LazyCallGraph &CG =
1140 RequireAnalysisPass<TestDoublyIndirectSCCAnalysis, LazyCallGraph::SCC,
1141 CGSCCAnalysisManager, LazyCallGraph &,
unittests/Analysis/LazyCallGraphTest.cpp 218 static LazyCallGraph buildCG(Module &M) {
223 LazyCallGraph CG(M, GetTLI);
230 LazyCallGraph CG = buildCG(*M);
236 LazyCallGraph::Node &A1 = (I++)->getNode();
238 LazyCallGraph::Node &A2 = (I++)->getNode();
240 LazyCallGraph::Node &A3 = (I++)->getNode();
242 LazyCallGraph::Node &B1 = (I++)->getNode();
244 LazyCallGraph::Node &B2 = (I++)->getNode();
246 LazyCallGraph::Node &B3 = (I++)->getNode();
248 LazyCallGraph::Node &C1 = (I++)->getNode();
250 LazyCallGraph::Node &C2 = (I++)->getNode();
252 LazyCallGraph::Node &C3 = (I++)->getNode();
254 LazyCallGraph::Node &D1 = (I++)->getNode();
256 LazyCallGraph::Node &D2 = (I++)->getNode();
258 LazyCallGraph::Node &D3 = (I++)->getNode();
266 for (LazyCallGraph::Edge &E : A1.populate())
281 for (LazyCallGraph::Edge &E : B1.populate())
295 for (LazyCallGraph::Edge &E : C1.populate())
323 LazyCallGraph::RefSCC &D = *J++;
325 for (LazyCallGraph::Node &N : *D.begin())
339 LazyCallGraph::RefSCC &C = *J++;
341 for (LazyCallGraph::Node &N : *C.begin())
355 LazyCallGraph::RefSCC &B = *J++;
357 for (LazyCallGraph::Node &N : *B.begin())
373 LazyCallGraph::RefSCC &A = *J++;
375 for (LazyCallGraph::Node &N : *A.begin())
418 LazyCallGraph CG = buildCG(*M);
420 LazyCallGraph::Node &A = CG.get(lookupFunction(*M, "a"));
421 LazyCallGraph::Node &B = CG.get(lookupFunction(*M, "b"));
427 LazyCallGraph::Node &C = CG.get(lookupFunction(*M, "c"));
429 CG.insertEdge(B, C, LazyCallGraph::Edge::Call);
433 CG.insertEdge(C, B, LazyCallGraph::Edge::Call);
437 CG.insertEdge(C, C, LazyCallGraph::Edge::Call);
456 LazyCallGraph CG = buildCG(*M);
460 LazyCallGraph::Node &D1 = CG.get(lookupFunction(*M, "d1"));
461 LazyCallGraph::Node &A1 = CG.get(lookupFunction(*M, "a1"));
464 CG.insertEdge(D1, A1, LazyCallGraph::Edge::Ref);
473 LazyCallGraph::RefSCC &RC = *I++;
478 LazyCallGraph::SCC &D = *J++;
479 for (LazyCallGraph::Node &N : D)
488 LazyCallGraph::SCC &B = *J++;
489 for (LazyCallGraph::Node &N : B)
498 LazyCallGraph::SCC &C = *J++;
499 for (LazyCallGraph::Node &N : C)
508 LazyCallGraph::SCC &A = *J++;
509 for (LazyCallGraph::Node &N : A)
553 LazyCallGraph CG = buildCG(*M);
558 LazyCallGraph::RefSCC &RC = *I++;
561 LazyCallGraph::Node &N1 = *CG.lookup(lookupFunction(*M, "f1"));
562 LazyCallGraph::Node &N2 = *CG.lookup(lookupFunction(*M, "f2"));
563 LazyCallGraph::Node &N3 = *CG.lookup(lookupFunction(*M, "f3"));
564 LazyCallGraph::Node &N4 = *CG.lookup(lookupFunction(*M, "f4"));
565 LazyCallGraph::Node &N5 = *CG.lookup(lookupFunction(*M, "f4"));
574 LazyCallGraph::SCC &C = *RC.begin();
604 LazyCallGraph CG = buildCG(*M);
608 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
611 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
612 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
613 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
614 LazyCallGraph::Node &D = *CG.lookup(lookupFunction(*M, "d"));
615 LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
616 LazyCallGraph::SCC &BC = *CG.lookupSCC(B);
617 LazyCallGraph::SCC &CC = *CG.lookupSCC(C);
618 LazyCallGraph::SCC &DC = *CG.lookupSCC(D);
619 LazyCallGraph::RefSCC &ARC = *CG.lookupRefSCC(A);
620 LazyCallGraph::RefSCC &BRC = *CG.lookupRefSCC(B);
621 LazyCallGraph::RefSCC &CRC = *CG.lookupRefSCC(C);
622 LazyCallGraph::RefSCC &DRC = *CG.lookupRefSCC(D);
641 ARC.insertOutgoingEdge(A, D, LazyCallGraph::Edge::Call);
643 const LazyCallGraph::Edge &NewE = (*A)[D];
750 LazyCallGraph CG = buildCG(*M);
754 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
757 LazyCallGraph::Node &A1 = *CG.lookup(lookupFunction(*M, "a1"));
758 LazyCallGraph::Node &A2 = *CG.lookup(lookupFunction(*M, "a2"));
759 LazyCallGraph::Node &A3 = *CG.lookup(lookupFunction(*M, "a3"));
760 LazyCallGraph::Node &B1 = *CG.lookup(lookupFunction(*M, "b1"));
761 LazyCallGraph::Node &B2 = *CG.lookup(lookupFunction(*M, "b2"));
762 LazyCallGraph::Node &B3 = *CG.lookup(lookupFunction(*M, "b3"));
763 LazyCallGraph::Node &C1 = *CG.lookup(lookupFunction(*M, "c1"));
764 LazyCallGraph::Node &C2 = *CG.lookup(lookupFunction(*M, "c2"));
765 LazyCallGraph::Node &C3 = *CG.lookup(lookupFunction(*M, "c3"));
766 LazyCallGraph::Node &D1 = *CG.lookup(lookupFunction(*M, "d1"));
767 LazyCallGraph::Node &D2 = *CG.lookup(lookupFunction(*M, "d2"));
768 LazyCallGraph::Node &D3 = *CG.lookup(lookupFunction(*M, "d3"));
769 LazyCallGraph::RefSCC &ARC = *CG.lookupRefSCC(A1);
770 LazyCallGraph::RefSCC &BRC = *CG.lookupRefSCC(B1);
771 LazyCallGraph::RefSCC &CRC = *CG.lookupRefSCC(C1);
772 LazyCallGraph::RefSCC &DRC = *CG.lookupRefSCC(D1);
798 for (LazyCallGraph::Edge E : *D2) {
842 LazyCallGraph CG = buildCG(*M);
846 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
849 LazyCallGraph::Node &A1 = *CG.lookup(lookupFunction(*M, "a1"));
850 LazyCallGraph::Node &A2 = *CG.lookup(lookupFunction(*M, "a2"));
851 LazyCallGraph::Node &A3 = *CG.lookup(lookupFunction(*M, "a3"));
852 LazyCallGraph::Node &B1 = *CG.lookup(lookupFunction(*M, "b1"));
853 LazyCallGraph::Node &B2 = *CG.lookup(lookupFunction(*M, "b2"));
854 LazyCallGraph::Node &B3 = *CG.lookup(lookupFunction(*M, "b3"));
855 LazyCallGraph::Node &C1 = *CG.lookup(lookupFunction(*M, "c1"));
856 LazyCallGraph::Node &C2 = *CG.lookup(lookupFunction(*M, "c2"));
857 LazyCallGraph::Node &C3 = *CG.lookup(lookupFunction(*M, "c3"));
858 LazyCallGraph::Node &D1 = *CG.lookup(lookupFunction(*M, "d1"));
859 LazyCallGraph::Node &D2 = *CG.lookup(lookupFunction(*M, "d2"));
860 LazyCallGraph::Node &D3 = *CG.lookup(lookupFunction(*M, "d3"));
861 LazyCallGraph::RefSCC &ARC = *CG.lookupRefSCC(A1);
862 LazyCallGraph::RefSCC &BRC = *CG.lookupRefSCC(B1);
863 LazyCallGraph::RefSCC &CRC = *CG.lookupRefSCC(C1);
864 LazyCallGraph::RefSCC &DRC = *CG.lookupRefSCC(D1);
890 for (LazyCallGraph::Edge E : *D2) {
949 LazyCallGraph CG = buildCG(*M);
953 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
956 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
957 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
958 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
959 LazyCallGraph::Node &D = *CG.lookup(lookupFunction(*M, "d"));
960 LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
961 LazyCallGraph::SCC &BC = *CG.lookupSCC(B);
962 LazyCallGraph::SCC &CC = *CG.lookupSCC(C);
963 LazyCallGraph::SCC &DC = *CG.lookupSCC(D);
964 LazyCallGraph::RefSCC &ARC = *CG.lookupRefSCC(A);
965 LazyCallGraph::RefSCC &BRC = *CG.lookupRefSCC(B);
966 LazyCallGraph::RefSCC &CRC = *CG.lookupRefSCC(C);
967 LazyCallGraph::RefSCC &DRC = *CG.lookupRefSCC(D);
1026 LazyCallGraph CG = buildCG(*M);
1030 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
1033 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1034 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
1035 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
1036 LazyCallGraph::Node &D = *CG.lookup(lookupFunction(*M, "d"));
1037 LazyCallGraph::RefSCC &ARC = *CG.lookupRefSCC(A);
1038 LazyCallGraph::RefSCC &BRC = *CG.lookupRefSCC(B);
1039 LazyCallGraph::RefSCC &CRC = *CG.lookupRefSCC(C);
1040 LazyCallGraph::RefSCC &DRC = *CG.lookupRefSCC(D);
1088 LazyCallGraph CG = buildCG(*M);
1092 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
1095 LazyCallGraph::Node &A1 = *CG.lookup(lookupFunction(*M, "a1"));
1096 LazyCallGraph::Node &A2 = *CG.lookup(lookupFunction(*M, "a2"));
1097 LazyCallGraph::Node &A3 = *CG.lookup(lookupFunction(*M, "a3"));
1098 LazyCallGraph::Node &B1 = *CG.lookup(lookupFunction(*M, "b1"));
1099 LazyCallGraph::Node &B2 = *CG.lookup(lookupFunction(*M, "b2"));
1100 LazyCallGraph::Node &B3 = *CG.lookup(lookupFunction(*M, "b3"));
1101 LazyCallGraph::Node &C1 = *CG.lookup(lookupFunction(*M, "c1"));
1102 LazyCallGraph::Node &C2 = *CG.lookup(lookupFunction(*M, "c2"));
1103 LazyCallGraph::Node &C3 = *CG.lookup(lookupFunction(*M, "c3"));
1104 LazyCallGraph::Node &D1 = *CG.lookup(lookupFunction(*M, "d1"));
1105 LazyCallGraph::Node &D2 = *CG.lookup(lookupFunction(*M, "d2"));
1106 LazyCallGraph::Node &D3 = *CG.lookup(lookupFunction(*M, "d3"));
1107 LazyCallGraph::RefSCC &ARC = *CG.lookupRefSCC(A1);
1108 LazyCallGraph::RefSCC &BRC = *CG.lookupRefSCC(B1);
1109 LazyCallGraph::RefSCC &CRC = *CG.lookupRefSCC(C1);
1110 LazyCallGraph::RefSCC &DRC = *CG.lookupRefSCC(D1);
1163 LazyCallGraph::SCC &DC = *CG.lookupSCC(D2);
1167 LazyCallGraph::SCC &NewDC = *NewCs.begin();
1172 LazyCallGraph::RefSCC &NewDRC = *NewRCs[0];
1175 LazyCallGraph::RefSCC &D2RC = *NewRCs[1];
1233 LazyCallGraph CG = buildCG(*M);
1238 LazyCallGraph::RefSCC &RC = *I++;
1241 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1242 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
1243 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
1287 LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
1288 LazyCallGraph::SCC &CC = *CG.lookupSCC(C);
1327 LazyCallGraph CG = buildCG(*M);
1332 LazyCallGraph::RefSCC &RC = *I;
1335 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1336 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
1337 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
1344 SmallVector<LazyCallGraph::RefSCC *, 1> NewRCs =
1363 LazyCallGraph::RefSCC &BCRC = *NewRCs[0];
1364 LazyCallGraph::RefSCC &ARC = *NewRCs[1];
1405 LazyCallGraph CG = buildCG(*M);
1410 LazyCallGraph::RefSCC &RC = *I;
1413 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1414 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
1415 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
1425 SmallVector<LazyCallGraph::RefSCC *, 1> NewRCs =
1429 LazyCallGraph::RefSCC &BRC = *NewRCs[0];
1430 LazyCallGraph::RefSCC &ACRC = *NewRCs[1];
1472 LazyCallGraph CG = buildCG(*M);
1477 LazyCallGraph::RefSCC &RC = *I;
1480 LazyCallGraph::SCC &C = *RC.begin();
1483 LazyCallGraph::Node &AN = *CG.lookup(lookupFunction(*M, "a"));
1484 LazyCallGraph::Node &BN = *CG.lookup(lookupFunction(*M, "b"));
1485 LazyCallGraph::Node &CN = *CG.lookup(lookupFunction(*M, "c"));
1494 SmallVector<LazyCallGraph::RefSCC *, 1> NewRCs =
1549 LazyCallGraph CG = buildCG(*M);
1554 LazyCallGraph::RefSCC &RC = *I++;
1558 LazyCallGraph::SCC &AC = *RC.begin();
1560 LazyCallGraph::Node &AN = *CG.lookup(lookupFunction(*M, "a"));
1561 LazyCallGraph::Node &BN = *CG.lookup(lookupFunction(*M, "b"));
1562 LazyCallGraph::Node &CN = *CG.lookup(lookupFunction(*M, "c"));
1583 LazyCallGraph::SCC &BC = *CG.lookupSCC(BN);
1600 LazyCallGraph::SCC &CC = *CG.lookupSCC(CN);
1642 LazyCallGraph CG = buildCG(*M);
1647 LazyCallGraph::RefSCC &RC = *I++;
1650 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1651 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
1652 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
1653 LazyCallGraph::Node &D = *CG.lookup(lookupFunction(*M, "d"));
1654 LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
1655 LazyCallGraph::SCC &BC = *CG.lookupSCC(B);
1656 LazyCallGraph::SCC &CC = *CG.lookupSCC(C);
1657 LazyCallGraph::SCC &DC = *CG.lookupSCC(D);
1754 LazyCallGraph CG = buildCG(*M);
1759 LazyCallGraph::RefSCC &RC = *I++;
1762 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1763 LazyCallGraph::Node &B1 = *CG.lookup(lookupFunction(*M, "b1"));
1764 LazyCallGraph::Node &B2 = *CG.lookup(lookupFunction(*M, "b2"));
1765 LazyCallGraph::Node &B3 = *CG.lookup(lookupFunction(*M, "b3"));
1766 LazyCallGraph::Node &C1 = *CG.lookup(lookupFunction(*M, "c1"));
1767 LazyCallGraph::Node &C2 = *CG.lookup(lookupFunction(*M, "c2"));
1768 LazyCallGraph::Node &C3 = *CG.lookup(lookupFunction(*M, "c3"));
1769 LazyCallGraph::Node &D = *CG.lookup(lookupFunction(*M, "d"));
1770 LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
1771 LazyCallGraph::SCC &B1C = *CG.lookupSCC(B1);
1772 LazyCallGraph::SCC &B2C = *CG.lookupSCC(B2);
1773 LazyCallGraph::SCC &B3C = *CG.lookupSCC(B3);
1774 LazyCallGraph::SCC &C1C = *CG.lookupSCC(C1);
1775 LazyCallGraph::SCC &C2C = *CG.lookupSCC(C2);
1776 LazyCallGraph::SCC &C3C = *CG.lookupSCC(C3);
1777 LazyCallGraph::SCC &DC = *CG.lookupSCC(D);
1884 LazyCallGraph CG = buildCG(*M);
1889 LazyCallGraph::RefSCC &RC = *I++;
1892 LazyCallGraph::Node &A = *CG.lookup(lookupFunction(*M, "a"));
1893 LazyCallGraph::Node &B = *CG.lookup(lookupFunction(*M, "b"));
1894 LazyCallGraph::Node &C = *CG.lookup(lookupFunction(*M, "c"));
1895 LazyCallGraph::Node &D = *CG.lookup(lookupFunction(*M, "d"));
1896 LazyCallGraph::Node &E = *CG.lookup(lookupFunction(*M, "e"));
1897 LazyCallGraph::Node &F = *CG.lookup(lookupFunction(*M, "f"));
1898 LazyCallGraph::Node &G = *CG.lookup(lookupFunction(*M, "g"));
1899 LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
1900 LazyCallGraph::SCC &BC = *CG.lookupSCC(B);
1901 LazyCallGraph::SCC &CC = *CG.lookupSCC(C);
1902 LazyCallGraph::SCC &DC = *CG.lookupSCC(D);
1903 LazyCallGraph::SCC &EC = *CG.lookupSCC(E);
1904 LazyCallGraph::SCC &FC = *CG.lookupSCC(F);
1905 LazyCallGraph::SCC &GC = *CG.lookupSCC(G);
1967 LazyCallGraph CG = buildCG(*M);
1971 LazyCallGraph::RefSCC &FRC = *I++;
1972 LazyCallGraph::RefSCC &GRC = *I++;
1975 LazyCallGraph::Node &F = *CG.lookup(lookupFunction(*M, "f"));
1976 LazyCallGraph::Node &G = *CG.lookup(lookupFunction(*M, "g"));
1995 LazyCallGraph CG = buildCG(*M);
1999 LazyCallGraph::RefSCC &GRC = *I++;
2000 LazyCallGraph::RefSCC &FRC = *I++;
2003 LazyCallGraph::Node &F = *CG.lookup(lookupFunction(*M, "f"));
2004 LazyCallGraph::Node &G = *CG.lookup(lookupFunction(*M, "g"));
2044 LazyCallGraph CG = buildCG(*M);
2049 LazyCallGraph::RefSCC &RC1 = *I++;
2050 LazyCallGraph::RefSCC &RC2 = *I++;
2054 LazyCallGraph::SCC &C1 = RC1[0];
2055 LazyCallGraph::SCC &C2 = RC1[1];
2057 LazyCallGraph::Node &AN = *CG.lookup(lookupFunction(*M, "a"));
2058 LazyCallGraph::Node &BN = *CG.lookup(lookupFunction(*M, "b"));
2059 LazyCallGraph::Node &CN = *CG.lookup(lookupFunction(*M, "c"));
2060 LazyCallGraph::Node &DN = *CG.lookup(lookupFunction(*M, "d"));
2122 LazyCallGraph CG = buildCG(*M);
2125 LazyCallGraph::Node &AN = CG.get(lookupFunction(*M, "a"));
2126 LazyCallGraph::Node &BN = CG.get(lookupFunction(*M, "b"));
2127 LazyCallGraph::Node &CN = CG.get(lookupFunction(*M, "c"));
2128 LazyCallGraph::Node &DN = CG.get(lookupFunction(*M, "d"));
2129 LazyCallGraph::Node &DeadN = CG.get(lookupFunction(*M, "dead"));
2135 CG.insertEdge(AN, DeadN, LazyCallGraph::Edge::Ref);
2136 CG.insertEdge(BN, DeadN, LazyCallGraph::Edge::Ref);
2137 CG.insertEdge(CN, DeadN, LazyCallGraph::Edge::Ref);
2138 CG.insertEdge(DN, DeadN, LazyCallGraph::Edge::Ref);
2143 LazyCallGraph::RefSCC &DeadRC = *I++;
2144 LazyCallGraph::RefSCC &RC1 = *I++;
2145 LazyCallGraph::RefSCC &RC2 = *I++;
2149 LazyCallGraph::SCC &C1 = RC1[0];
2150 LazyCallGraph::SCC &C2 = RC1[1];
unittests/IR/PassBuilderCallbacksTest.cpp 187 : MockPassHandleBase<MockPassHandle<LazyCallGraph::SCC>, LazyCallGraph::SCC,
187 : MockPassHandleBase<MockPassHandle<LazyCallGraph::SCC>, LazyCallGraph::SCC,
188 CGSCCAnalysisManager, LazyCallGraph &,
194 static void invalidateSCC(LazyCallGraph::SCC &C, CGSCCAnalysisManager &,
195 LazyCallGraph &, CGSCCUpdateResult &UR) {
242 : MockAnalysisHandleBase<MockAnalysisHandle<LazyCallGraph::SCC>,
243 LazyCallGraph::SCC, CGSCCAnalysisManager,
244 LazyCallGraph &> {
285 if (any_isa<const LazyCallGraph::SCC *>(WrappedIR))
286 return any_cast<const LazyCallGraph::SCC *>(WrappedIR)->getName();
396 ExtraAnalysisArgTs &&... Args) {
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/std_function.h 299 _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
usr/include/c++/7.4.0/bits/unique_ptr.h 825 { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
usr/include/c++/7.4.0/tuple 125 constexpr _Head_base(const _Head& __h)
132 constexpr _Head_base(_UHead&& __h)
159 static constexpr _Head&
162 static constexpr const _Head&
194 static constexpr _Head&
197 static constexpr const _Head&
210 constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
210 constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
216 constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
216 constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
242 _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
248 const _Head& __head, const _Tail&... __tail)
248 const _Head& __head, const _Tail&... __tail)
262 _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
268 _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
350 static constexpr _Head&
353 static constexpr const _Head&
360 constexpr _Tuple_impl(const _Head& __head)
365 constexpr _Tuple_impl(_UHead&& __head)
390 const _Head& __head)
473 return __and_<is_constructible<_Elements, const _UElements&>...>::value;
479 return __and_<is_convertible<const _UElements&, _Elements>...>::value;
485 return __and_<is_constructible<_Elements, _UElements&&>...>::value;
491 return __and_<is_convertible<_UElements&&, _Elements>...>::value;
608 constexpr tuple(const _Elements&... __elements)
619 explicit constexpr tuple(const _Elements&... __elements)
646 constexpr tuple(_UElements&&... __elements)
730 const _Elements&... __elements)
741 const _Elements&... __elements)
947 constexpr tuple(const _T1& __a1, const _T2& __a2)
956 explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
971 constexpr tuple(_U1&& __a1, _U2&& __a2)
1078 const _T1& __a1, const _T2& __a2)
1090 const _T1& __a1, const _T2& __a2)
1302 constexpr _Head&
1307 constexpr const _Head&
1313 constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1319 constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1325 constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
2104 { typedef typename remove_cv<_Up>::type __type; };
2253 inline typename add_rvalue_reference<_Tp>::type
utils/unittest/googletest/include/gtest/gtest-printers.h 140 static void PrintValue(const T& value, ::std::ostream* os) {
205 ::std::basic_ostream<Char, CharTraits>& os, const T& x) {
206 TypeWithoutFormatter<T,
207 (internal::IsAProtocolMessage<T>::value ? kProtobuf :
208 internal::ImplicitlyConvertible<const T&, internal::BiggestInt>::value ?
223 void DefaultPrintNonContainerTo(const T& value, ::std::ostream* os) {
366 void UniversalPrint(const T& value, ::std::ostream* os);
373 const C& container, ::std::ostream* os) {
439 const T& value, ::std::ostream* os) {
455 void PrintTo(const T& value, ::std::ostream* os) {
478 DefaultPrintTo(IsContainerTest<T>(0), is_pointer<T>(), value, os);
699 static void Print(const T& value, ::std::ostream* os) {
765 static void Print(const T& value, ::std::ostream* os) {
856 typedef T T1;
utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h 29 static const T& printable(const T& V) { return V; }
29 static const T& printable(const T& V) { return V; }
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
35 auto printable(const T &V) -> decltype(StreamSwitch<T>::printable(V)) {
37 return StreamSwitch<T>::printable(V);