|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/Analysis/LazyCallGraph.h 117 class RefSCC;
References
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 250 static const bool value = sizeof(test<Ty>(nullptr)) == sizeof(yes);
278 ContainerTy &&C,
include/llvm/ADT/iterator.h 68 : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT,
include/llvm/Analysis/CGSCCPassManager.h 242 SmallPriorityWorklist<LazyCallGraph::RefSCC *, 1> &RCWorklist;
265 SmallPtrSetImpl<LazyCallGraph::RefSCC *> &InvalidatedRefSCCs;
283 LazyCallGraph::RefSCC *UpdatedRC;
746 SmallPriorityWorklist<LazyCallGraph::RefSCC *, 1> RCWorklist;
751 SmallPtrSet<LazyCallGraph::RefSCC *, 4> InvalidRefSCCSet;
786 LazyCallGraph::RefSCC *RC = RCWorklist.pop_back_val();
include/llvm/Analysis/LazyCallGraph.h 435 RefSCC *OuterRefSCC;
439 SCC(RefSCC &OuterRefSCC, NodeRangeT &&Nodes)
493 RefSCC &getOuterRefSCC() const { return *OuterRefSCC; }
575 friend raw_ostream &operator<<(raw_ostream &OS, const RefSCC &RC) {
617 pointee_iterator<SmallPtrSetImpl<RefSCC *>::const_iterator>;
634 bool isParentOf(const RefSCC &RC) const;
641 bool isAncestorOf(const RefSCC &RC) const;
647 bool isChildOf(const RefSCC &RC) const { return RC.isParentOf(*this); }
654 bool isDescendantOf(const RefSCC &RC) const {
788 SmallVector<RefSCC *, 1> insertIncomingRefEdge(Node &SourceN,
841 SmallVector<RefSCC *, 1> removeInternalRefEdge(Node &SourceN,
888 std::forward_iterator_tag, RefSCC> {
896 RefSCC *RC = nullptr;
906 static RefSCC *getRC(LazyCallGraph &G, int Index) {
976 RefSCC *lookupRefSCC(Node &N) const {
1141 SpecificBumpPtrAllocator<RefSCC> RefSCCBPA;
1146 SmallVector<RefSCC *, 16> PostOrderRefSCCs;
1150 DenseMap<RefSCC *, int> RefSCCIndices;
1167 template <typename... Ts> SCC *createSCC(Ts &&... Args) {
1174 template <typename... Ts> RefSCC *createRefSCC(Ts &&... Args) {
1175 return new (RefSCCBPA.Allocate()) RefSCC(std::forward<Ts>(Args)...);
1196 void buildSCCs(RefSCC &RC, node_stack_range Nodes);
1202 int getRefSCCIndex(RefSCC &RC) {
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) {
lib/Analysis/CGSCCPassManager.cpp 165 for (auto &RC : G->postorder_ref_sccs())
432 using RefSCC = LazyCallGraph::RefSCC;
lib/Analysis/LazyCallGraph.cpp 351 bool LazyCallGraph::RefSCC::isParentOf(const RefSCC &RC) const {
365 bool LazyCallGraph::RefSCC::isAncestorOf(const RefSCC &RC) const {
372 SmallVector<const RefSCC *, 4> Worklist;
373 SmallPtrSet<const RefSCC *, 4> Visited;
377 const RefSCC &DescendantRC = *Worklist.pop_back_val();
381 auto *ChildRC = G->lookupRefSCC(E.getNode());
460 SCCT &SourceSCC, SCCT &TargetSCC, PostorderSequenceT &SCCs,
460 SCCT &SourceSCC, SCCT &TargetSCC, PostorderSequenceT &SCCs,
468 SmallPtrSet<SCCT *, 4> ConnectedSet;
700 iterator_range<LazyCallGraph::RefSCC::iterator>
964 SmallVector<LazyCallGraph::RefSCC *, 1>
967 RefSCC &SourceC = *G->lookupRefSCC(SourceN);
974 SmallVector<RefSCC *, 1> DeletedRefSCCs;
1007 for (RefSCC *C : make_range(G->PostOrderRefSCCs.begin() + SourceIdx + 1,
1019 SmallVector<RefSCC *, 4> Worklist;
1022 RefSCC &RC = *Worklist.pop_back_val();
1026 RefSCC &EdgeRC = *G->lookupRefSCC(E.getNode());
1041 iterator_range<SmallVectorImpl<RefSCC *>::iterator> MergeRange =
1048 SmallPtrSet<RefSCC *, 16> MergeSet(MergeRange.begin(), MergeRange.end());
1057 for (RefSCC *RC : MergeRange) {
1089 for (RefSCC *RC : MergeRange)
1094 for (RefSCC *RC : make_range(EraseEnd, G->PostOrderRefSCCs.end()))
1127 SmallVector<LazyCallGraph::RefSCC *, 1>
1131 SmallVector<RefSCC *, 1> Result;
1341 RefSCC &RC = *Result[SCCNumber];
1356 for (RefSCC *RC : Result)
1371 RefSCC &TargetRC = *G->lookupRefSCC(TargetN);
1528 RefSCC &RC = C.getOuterRefSCC();
1566 for (auto *RC : PostOrderRefSCCs)
1666 void LazyCallGraph::buildSCCs(RefSCC &RC, node_stack_range Nodes) {
1725 RefSCC *NewRC = createRefSCC(*this);
1761 static void printRefSCC(raw_ostream &OS, LazyCallGraph::RefSCC &C) {
1781 for (LazyCallGraph::RefSCC &C : G.postorder_ref_sccs())
lib/Transforms/IPO/Inliner.cpp 953 auto *RC = &C->getOuterRefSCC();
1218 auto &DeadRC = DeadC.getOuterRefSCC();
unittests/Analysis/LazyCallGraphTest.cpp 323 LazyCallGraph::RefSCC &D = *J++;
339 LazyCallGraph::RefSCC &C = *J++;
355 LazyCallGraph::RefSCC &B = *J++;
373 LazyCallGraph::RefSCC &A = *J++;
473 LazyCallGraph::RefSCC &RC = *I++;
558 LazyCallGraph::RefSCC &RC = *I++;
608 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
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);
754 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
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);
846 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
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);
953 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
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);
1030 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
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);
1092 for (LazyCallGraph::RefSCC &RC : CG.postorder_ref_sccs())
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);
1172 LazyCallGraph::RefSCC &NewDRC = *NewRCs[0];
1175 LazyCallGraph::RefSCC &D2RC = *NewRCs[1];
1238 LazyCallGraph::RefSCC &RC = *I++;
1332 LazyCallGraph::RefSCC &RC = *I;
1344 SmallVector<LazyCallGraph::RefSCC *, 1> NewRCs =
1363 LazyCallGraph::RefSCC &BCRC = *NewRCs[0];
1364 LazyCallGraph::RefSCC &ARC = *NewRCs[1];
1410 LazyCallGraph::RefSCC &RC = *I;
1425 SmallVector<LazyCallGraph::RefSCC *, 1> NewRCs =
1429 LazyCallGraph::RefSCC &BRC = *NewRCs[0];
1430 LazyCallGraph::RefSCC &ACRC = *NewRCs[1];
1477 LazyCallGraph::RefSCC &RC = *I;
1494 SmallVector<LazyCallGraph::RefSCC *, 1> NewRCs =
1554 LazyCallGraph::RefSCC &RC = *I++;
1647 LazyCallGraph::RefSCC &RC = *I++;
1759 LazyCallGraph::RefSCC &RC = *I++;
1889 LazyCallGraph::RefSCC &RC = *I++;
1971 LazyCallGraph::RefSCC &FRC = *I++;
1972 LazyCallGraph::RefSCC &GRC = *I++;
1999 LazyCallGraph::RefSCC &GRC = *I++;
2000 LazyCallGraph::RefSCC &FRC = *I++;
2049 LazyCallGraph::RefSCC &RC1 = *I++;
2050 LazyCallGraph::RefSCC &RC2 = *I++;
2143 LazyCallGraph::RefSCC &DeadRC = *I++;
2144 LazyCallGraph::RefSCC &RC1 = *I++;
2145 LazyCallGraph::RefSCC &RC2 = *I++;
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/stl_iterator_base_types.h 123 typedef _Tp value_type;
usr/include/c++/7.4.0/type_traits 1633 { typedef _Tp type; };
1983 { typedef _Up type; };
utils/unittest/googletest/include/gtest/gtest-message.h 116 inline Message& operator <<(const T& val) {
utils/unittest/googletest/include/gtest/gtest-printers.h 407 T* p, ::std::ostream* os) {
416 if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {
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}; }