reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/Analysis/LazyCallGraph.h
  116   class SCC;

References

include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
  154 auto adl_begin(ContainerTy &&container)
  162 auto adl_end(ContainerTy &&container)
  178 auto adl_begin(ContainerTy &&container)
  184 auto adl_end(ContainerTy &&container)
 1193 auto find_if(R &&Range, UnaryPredicate P) -> decltype(adl_begin(Range)) {
include/llvm/ADT/iterator.h
   68     : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT,
  206     : public iterator_facade_base<DerivedT, IteratorCategoryT, T,
  288           pointee_iterator<WrappedIteratorT, T>, WrappedIteratorT,
  290           T> {
  296   T &operator*() const { return **this->I; }
include/llvm/Analysis/CGSCCPassManager.h
  129     AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
  137             CGSCCUpdateResult &>::run(LazyCallGraph::SCC &InitialC,
  149     PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &,
  154 struct RequireAnalysisPass<AnalysisT, LazyCallGraph::SCC, CGSCCAnalysisManager,
  156     : PassInfoMixin<RequireAnalysisPass<AnalysisT, LazyCallGraph::SCC,
  159   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
  214     OuterAnalysisManagerProxy<ModuleAnalysisManager, LazyCallGraph::SCC,
  257   SmallPriorityWorklist<LazyCallGraph::SCC *, 1> &CWorklist;
  273   SmallPtrSetImpl<LazyCallGraph::SCC *> &InvalidatedSCCs;
  293   LazyCallGraph::SCC *UpdatedC;
  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 &);
  417 LazyCallGraph::SCC &updateCGAndAnalysisManagerForFunctionPass(
  418     LazyCallGraph &G, LazyCallGraph::SCC &C, LazyCallGraph::Node &N,
  455   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
  468     LazyCallGraph::SCC *CurrentC = &C;
  561   PreservedAnalyses run(LazyCallGraph::SCC &InitialC, CGSCCAnalysisManager &AM,
  569     LazyCallGraph::SCC *C = &InitialC;
  612       if (!PI.runBeforePass<LazyCallGraph::SCC>(Pass, *C))
  618         PI.runAfterPassInvalidated<LazyCallGraph::SCC>(Pass);
  620         PI.runAfterPass<LazyCallGraph::SCC>(Pass, *C);
  747   SmallPriorityWorklist<LazyCallGraph::SCC *, 1> CWorklist;
  752   SmallPtrSet<LazyCallGraph::SCC *, 4> InvalidSCCSet;
  754   SmallDenseSet<std::pair<LazyCallGraph::Node *, LazyCallGraph::SCC *>, 4>
  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
  454     friend raw_ostream &operator<<(raw_ostream &OS, const SCC &C) {
  499     bool isParentOf(const SCC &C) const;
  507     bool isAncestorOf(const SCC &C) const;
  513     bool isChildOf(const SCC &C) const { return C.isParentOf(*this); }
  519     bool isDescendantOf(const SCC &C) const { return C.isAncestorOf(*this); }
  554     SmallVector<SCC *, 4> SCCs;
  557     SmallDenseMap<SCC *, int, 4> SCCIndices;
  578       for (LazyCallGraph::SCC &C : RC) {
  614     using iterator = pointee_iterator<SmallVectorImpl<SCC *>::const_iterator>;
  624     SCC &operator[](int Idx) { return *SCCs[Idx]; }
  626     iterator find(SCC &C) const {
  698         function_ref<void(ArrayRef<SCC *> MergedSCCs)> MergeCB = {});
  970   SCC *lookupSCC(Node &N) const { return SCCMap.lookup(&N); }
  977     if (SCC *C = lookupSCC(N))
 1135   SpecificBumpPtrAllocator<SCC> SCCBPA;
 1138   DenseMap<Node *, SCC *> SCCMap;
 1167   template <typename... Ts> SCC *createSCC(Ts &&... Args) {
 1168     return new (SCCBPA.Allocate()) SCC(std::forward<Ts>(Args)...);
include/llvm/IR/PassInstrumentation.h
  144   bool runBeforePass(const PassT &Pass, const IRUnitT &IR) const {
  158   void runAfterPass(const PassT &Pass, const IRUnitT &IR) const {
  177   void runBeforeAnalysis(const PassT &Analysis, const IRUnitT &IR) const {
  186   void runAfterAnalysis(const PassT &Analysis, const IRUnitT &IR) const {
  198   bool invalidate(IRUnitT &, const class llvm::PreservedAnalyses &,
include/llvm/IR/PassManager.h
  420 getAnalysisResultUnpackTuple(AnalysisManagerT &AM, IRUnitT &IR,
  435 getAnalysisResult(AnalysisManager<IRUnitT, AnalysisArgTs...> &AM, IRUnitT &IR,
  435 getAnalysisResult(AnalysisManager<IRUnitT, AnalysisArgTs...> &AM, IRUnitT &IR,
  438           PassT, IRUnitT>)(AM, IR, Args,
  466                         PassManager<IRUnitT, AnalysisManagerT, ExtraArgTs...>> {
  489   PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM,
  551         detail::PassModel<IRUnitT, PassT, PreservedAnalyses, AnalysisManagerT,
  559       detail::PassConcept<IRUnitT, AnalysisManagerT, ExtraArgTs...>;
  598   Result run(IRUnitT &, AnalysisManagerT &, ExtraArgTs &&...) {
  615       detail::AnalysisResultConcept<IRUnitT, PreservedAnalyses, Invalidator>;
  617       detail::AnalysisPassConcept<IRUnitT, PreservedAnalyses, Invalidator,
  630   using AnalysisResultListMapT = DenseMap<IRUnitT *, AnalysisResultListT>;
  636       DenseMap<std::pair<AnalysisKey *, IRUnitT *>,
  667     bool invalidate(IRUnitT &IR, const PreservedAnalyses &PA) {
  669           detail::AnalysisResultModel<IRUnitT, PassT, typename PassT::Result,
  681     bool invalidate(AnalysisKey *ID, IRUnitT &IR, const PreservedAnalyses &PA) {
  689     bool invalidateImpl(AnalysisKey *ID, IRUnitT &IR,
  747   void clear(IRUnitT &IR, llvm::StringRef Name) {
  777   typename PassT::Result &getResult(IRUnitT &IR, ExtraArgTs... ExtraArgs) {
  784         detail::AnalysisResultModel<IRUnitT, PassT, typename PassT::Result,
  796   typename PassT::Result *getCachedResult(IRUnitT &IR) const {
  805         detail::AnalysisResultModel<IRUnitT, PassT, typename PassT::Result,
  832         detail::AnalysisPassModel<IRUnitT, PassT, PreservedAnalyses,
  849   template <typename PassT> void invalidate(IRUnitT &IR) {
  859   void invalidate(IRUnitT &IR, const PreservedAnalyses &PA) {
  861     if (PA.allAnalysesInSetPreserved<AllAnalysesOn<IRUnitT>>())
  939   ResultConceptT &getResultImpl(AnalysisKey *ID, IRUnitT &IR,
  977   ResultConceptT *getCachedResultImpl(AnalysisKey *ID, IRUnitT &IR) const {
  984   void invalidateImpl(AnalysisKey *ID, IRUnitT &IR) {
 1163           OuterAnalysisManagerProxy<AnalysisManagerT, IRUnitT, ExtraArgTs...>> {
 1174         IRUnitT &IRUnit, const PreservedAnalyses &PA,
 1175         typename AnalysisManager<IRUnitT, ExtraArgTs...>::Invalidator &Inv) {
 1235   Result run(IRUnitT &, AnalysisManager<IRUnitT, ExtraArgTs...> &,
 1235   Result run(IRUnitT &, AnalysisManager<IRUnitT, ExtraArgTs...> &,
 1386   PreservedAnalyses run(IRUnitT &Arg, AnalysisManagerT &AM, ExtraArgTs &&...) {
 1400   PreservedAnalyses run(IRUnitT &, AnalysisManagerT &, ExtraArgTs &&...) {
 1415   PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM, Ts &&... Args) {
 1430       if (!PI.runBeforePass<IRUnitT>(P, IR))
include/llvm/IR/PassManagerInternal.h
   46   virtual PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM,
   60 struct PassModel : PassConcept<IRUnitT, AnalysisManagerT, ExtraArgTs...> {
   77   PreservedAnalysesT run(IRUnitT &IR, AnalysisManagerT &AM,
  110   virtual bool invalidate(IRUnitT &IR, const PreservedAnalysesT &PA,
  128       std::declval<IRUnitT &>(), std::declval<PreservedAnalyses>()))>::Type
  168     : AnalysisResultConcept<IRUnitT, PreservedAnalysesT, InvalidatorT> {
  191   bool invalidate(IRUnitT &, const PreservedAnalysesT &PA,
  195            !PAC.template preservedSet<AllAnalysesOn<IRUnitT>>();
  207     : AnalysisResultConcept<IRUnitT, PreservedAnalysesT, InvalidatorT> {
  226   bool invalidate(IRUnitT &IR, const PreservedAnalysesT &PA,
  247       AnalysisResultConcept<IRUnitT, PreservedAnalysesT, InvalidatorT>>
  248   run(IRUnitT &IR, AnalysisManager<IRUnitT, ExtraArgTs...> &AM,
  248   run(IRUnitT &IR, AnalysisManager<IRUnitT, ExtraArgTs...> &AM,
  262 struct AnalysisPassModel : AnalysisPassConcept<IRUnitT, PreservedAnalysesT,
  282       AnalysisResultModel<IRUnitT, PassT, typename PassT::Result,
  289       AnalysisResultConcept<IRUnitT, PreservedAnalysesT, InvalidatorT>>
  290   run(IRUnitT &IR, AnalysisManager<IRUnitT, ExtraArgTs...> &AM,
  290   run(IRUnitT &IR, AnalysisManager<IRUnitT, ExtraArgTs...> &AM,
include/llvm/Passes/PassBuilder.h
  743     PassManager<IRUnitT, AnalysisManagerT, ExtraArgTs...> &PM) {
include/llvm/Support/Alignment.h
  103     return Constant<std::alignment_of<T>::value>();
include/llvm/Support/Allocator.h
   81   template <typename T> T *Allocate(size_t Num = 1) {
   82     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
   82     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
  470       for (char *Ptr = Begin; Ptr + sizeof(T) <= End; Ptr += sizeof(T))
  470       for (char *Ptr = Begin; Ptr + sizeof(T) <= End; Ptr += sizeof(T))
  478       char *Begin = (char *)alignAddr(*I, Align::Of<T>());
  488       DestroyElements((char *)alignAddr(Ptr, Align::Of<T>()),
  496   T *Allocate(size_t num = 1) { return Allocator.Allocate<T>(num); }
  496   T *Allocate(size_t num = 1) { return Allocator.Allocate<T>(num); }
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Transforms/IPO/ArgumentPromotion.h
   29   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
include/llvm/Transforms/IPO/FunctionAttrs.h
   51   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
include/llvm/Transforms/IPO/Inliner.h
  103   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
lib/Analysis/CGSCCPassManager.cpp
   53             CGSCCUpdateResult &>::run(LazyCallGraph::SCC &InitialC,
   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>>();
  166     for (auto &C : RC) {
  218 FunctionAnalysisManagerCGSCCProxy::run(LazyCallGraph::SCC &C,
  241     LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
  256   if (!PAC.preserved() && !PAC.preservedSet<AllAnalysesOn<LazyCallGraph::SCC>>()) {
  321 static void updateNewSCCFunctionAnalyses(LazyCallGraph::SCC &C,
  365 static LazyCallGraph::SCC *
  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,
  431   using SCC = LazyCallGraph::SCC;
lib/Analysis/LazyCallGraph.cpp
  250 bool LazyCallGraph::SCC::isParentOf(const SCC &C) const {
  263 bool LazyCallGraph::SCC::isAncestorOf(const SCC &TargetC) const {
  270   SmallPtrSet<const SCC *, 16> Visited = {this};
  271   SmallVector<const SCC *, 16> Worklist = {this};
  275     const SCC &C = *Worklist.pop_back_val();
  278         SCC *CalleeC = G.lookupSCC(E.getNode());
  311   SmallPtrSet<SCC *, 4> SCCSet;
  312   for (SCC *C : SCCs) {
  326     SCC *C = SCCIndexPair.first;
  335     SCC &SourceSCC = *SCCs[i];
  340         SCC &TargetSCC = *G->lookupSCC(E.getNode());
  356   for (SCC &C : *this)
  378     for (SCC &C : DescendantRC)
  460     SCCT &SourceSCC, SCCT &TargetSCC, PostorderSequenceT &SCCs,
  460     SCCT &SourceSCC, SCCT &TargetSCC, PostorderSequenceT &SCCs,
  468   SmallPtrSet<SCCT *, 4> ConnectedSet;
  531     function_ref<void(ArrayRef<SCC *> MergeSCCs)> MergeCB) {
  533   SmallVector<SCC *, 1> DeletedSCCs;
  542   SCC &SourceSCC = *G->lookupSCC(SourceN);
  543   SCC &TargetSCC = *G->lookupSCC(TargetN);
  582     for (SCC *C :
  599     SmallVector<SCC *, 4> Worklist;
  602       SCC &C = *Worklist.pop_back_val();
  607           SCC &EdgeC = *G->lookupSCC(E.getNode());
  653   for (SCC *C : MergeRange) {
  668   for (SCC *C : make_range(EraseEnd, SCCs.end()))
  716   SCC &TargetSCC = *G->lookupSCC(TargetN);
  736   SCC &OldSCC = TargetSCC;
  739   SmallVector<SCC *, 4> NewSCCs;
  998       for (SCC &C : RC)
 1023       for (SCC &C : RC)
 1055   SmallVector<SCC *, 16> MergedSCCs;
 1065     for (SCC &InnerC : *RC) {
 1083   for (SCC &InnerC : *this)
 1163   SCC &SourceC = *G->lookupSCC(SourceN);
 1180   for (SCC *C : SCCs) {
 1330   for (SCC *C : SCCs) {
 1526   SCC &C = *CI->second;
 1754 static void printSCC(raw_ostream &OS, LazyCallGraph::SCC &C) {
 1764   for (LazyCallGraph::SCC &InnerC : C)
lib/Passes/PassBuilder.cpp
  276   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &,
  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);
   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);
  128     const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
lib/Transforms/IPO/ArgumentPromotion.cpp
 1020 PreservedAnalyses ArgumentPromotionPass::run(LazyCallGraph::SCC &C,
lib/Transforms/IPO/FunctionAttrs.cpp
 1409 PreservedAnalyses PostOrderFunctionAttrsPass::run(LazyCallGraph::SCC &C,
lib/Transforms/IPO/Inliner.cpp
  873 PreservedAnalyses InlinerPass::run(LazyCallGraph::SCC &InitialC,
  952   auto *C = &InitialC;
 1166     LazyCallGraph::SCC *OldC = C;
 1212     auto &DeadC = *CG.lookupSCC(*CG.lookup(*DeadF));
unittests/Analysis/CGSCCPassManagerTest.cpp
   57   Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &) {
  139   PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
  144   std::function<PreservedAnalyses(LazyCallGraph::SCC &, CGSCCAnalysisManager &,
  850     bool invalidate(LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
  854                PAC.preservedSet<AllAnalysesOn<LazyCallGraph::SCC>>()) ||
  862   Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
  903     bool invalidate(LazyCallGraph::SCC &C, const PreservedAnalyses &PA,
  907                PAC.preservedSet<AllAnalysesOn<LazyCallGraph::SCC>>()) ||
  915   Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM,
 1140       RequireAnalysisPass<TestDoublyIndirectSCCAnalysis, LazyCallGraph::SCC,
 1177         auto &NewC =
 1223         auto &NewC =
unittests/Analysis/LazyCallGraphTest.cpp
  478   LazyCallGraph::SCC &D = *J++;
  488   LazyCallGraph::SCC &B = *J++;
  498   LazyCallGraph::SCC &C = *J++;
  508   LazyCallGraph::SCC &A = *J++;
  574   LazyCallGraph::SCC &C = *RC.begin();
  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);
  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);
 1163   LazyCallGraph::SCC &DC = *CG.lookupSCC(D2);
 1167   LazyCallGraph::SCC &NewDC = *NewCs.begin();
 1287   LazyCallGraph::SCC &AC = *CG.lookupSCC(A);
 1288   LazyCallGraph::SCC &CC = *CG.lookupSCC(C);
 1480   LazyCallGraph::SCC &C = *RC.begin();
 1558   LazyCallGraph::SCC &AC = *RC.begin();
 1583   LazyCallGraph::SCC &BC = *CG.lookupSCC(BN);
 1600   LazyCallGraph::SCC &CC = *CG.lookupSCC(CN);
 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);
 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);
 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);
 2054   LazyCallGraph::SCC &C1 = RC1[0];
 2055   LazyCallGraph::SCC &C2 = RC1[1];
 2149   LazyCallGraph::SCC &C1 = RC1[0];
 2150   LazyCallGraph::SCC &C2 = RC1[1];
unittests/IR/PassBuilderCallbacksTest.cpp
   71       bool invalidate(IRUnitT &IR, const PreservedAnalyses &PA,
   77     Result run(IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs... ExtraArgs) {
   91   static bool invalidateCallback(IRUnitT &IR, const PreservedAnalyses &PA,
   95            !PAC.template preservedSet<AllAnalysesOn<IRUnitT>>();
  137     PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM,
  187     : MockPassHandleBase<MockPassHandle<LazyCallGraph::SCC>, LazyCallGraph::SCC,
  187     : MockPassHandleBase<MockPassHandle<LazyCallGraph::SCC>, LazyCallGraph::SCC,
  194   static void invalidateSCC(LazyCallGraph::SCC &C, CGSCCAnalysisManager &,
  242     : MockAnalysisHandleBase<MockAnalysisHandle<LazyCallGraph::SCC>,
  243                              LazyCallGraph::SCC, CGSCCAnalysisManager,
  272 template <typename IRUnitT> std::string getName(const IRUnitT &IR) {
  285   if (any_isa<const LazyCallGraph::SCC *>(WrappedIR))
  286     return any_cast<const LazyCallGraph::SCC *>(WrappedIR)->getName();
  374   using IRUnitT = TestIRUnitT;
  375   using AnalysisManagerT = AnalysisManager<TestIRUnitT, ExtraAnalysisArgTs...>;
  377       PassManager<TestIRUnitT, AnalysisManagerT, ExtraPassArgTs...>;
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/bits/range_access.h
   48     begin(_Container& __cont) -> decltype(__cont.begin())
   58     begin(const _Container& __cont) -> decltype(__cont.begin())
   68     end(_Container& __cont) -> decltype(__cont.end())
   78     end(const _Container& __cont) -> decltype(__cont.end())
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/stl_iterator_base_types.h
  123       typedef _Tp        value_type;
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)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  248 		    const _Head& __head, const _Tail&... __tail)
  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)
 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
 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;
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1983     { typedef _Up     type; };
utils/unittest/googletest/include/gtest/gtest-printers.h
  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) {
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {
  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
   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);
   54   const T& V;
   55   friend std::ostream &operator<<(std::ostream &S, const RawStreamProxy<T> &V) {
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }
   69   static const RawStreamProxy<T> printable(const T &V) { return {V}; }