reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
154 auto adl_begin(ContainerTy &&container) 162 auto adl_end(ContainerTy &&container) 178 auto adl_begin(ContainerTy &&container) 184 auto adl_end(ContainerTy &&container) 422 make_filter_range(RangeT &&Range, PredicateT Pred) { 1172 bool any_of(R &&Range, UnaryPredicate P) {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/Transforms/Scalar/NewGVN.cpp
372 bool isEquivalentTo(const CongruenceClass *Other) const { 519 CongruenceClass *TOPClass; 520 std::vector<CongruenceClass *> CongruenceClasses; 524 DenseMap<Value *, CongruenceClass *> ValueToClass; 589 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass; 608 using ExpressionClassMap = DenseMap<const Expression *, CongruenceClass *>; 695 CongruenceClass *createCongruenceClass(Value *Leader, const Expression *E) { 696 auto *result = new CongruenceClass(NextCongruenceNum++, Leader, E); 696 auto *result = new CongruenceClass(NextCongruenceNum++, Leader, E); 701 CongruenceClass *createMemoryClass(MemoryAccess *MA) { 702 auto *CC = createCongruenceClass(nullptr, nullptr); 707 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { 708 auto *CC = getMemoryClass(MA); 714 CongruenceClass *createSingletonCongruenceClass(Value *Member) { 715 CongruenceClass *CClass = createCongruenceClass(Member, nullptr); 762 CongruenceClass *getClassForExpression(const Expression *E) const; 765 CongruenceClass *, CongruenceClass *); 765 CongruenceClass *, CongruenceClass *); 767 CongruenceClass *, CongruenceClass *); 767 CongruenceClass *, CongruenceClass *); 768 Value *getNextValueLeader(CongruenceClass *) const; 769 const MemoryAccess *getNextMemoryLeader(CongruenceClass *) const; 770 bool setMemoryClass(const MemoryAccess *From, CongruenceClass *To); 771 CongruenceClass *getMemoryClass(const MemoryAccess *MA) const; 786 void convertClassToDFSOrdered(const CongruenceClass &, 790 void convertClassToLoadsAndStores(const CongruenceClass &, 812 void markValueLeaderChangeTouched(CongruenceClass *CC); 813 void markMemoryLeaderChangeTouched(CongruenceClass *CC); 1087 CongruenceClass *CC = ValueToClass.lookup(V); 1262 auto *CC = ValueToClass.lookup(Inst); 1297 CongruenceClass *CC = ValueToClass.lookup(V); 1311 auto *CC = getMemoryClass(MA); 1385 const auto *LastCC = ExpressionToClass.lookup(LastStore); 1652 CongruenceClass *NewGVN::getMemoryClass(const MemoryAccess *MA) const { 1653 auto *Result = MemoryAccessToClass.lookup(MA); 1661 CongruenceClass *NewClass) { 1674 auto *OldClass = LookupResult->second; 2115 void NewGVN::markMemoryLeaderChangeTouched(CongruenceClass *CC) { 2122 void NewGVN::markValueLeaderChangeTouched(CongruenceClass *CC) { 2133 T *NewGVN::getMinDFSOfRange(const Range &R) const { 2146 const MemoryAccess *NewGVN::getNextMemoryLeader(CongruenceClass *CC) const { 2171 Value *NewGVN::getNextValueLeader(CongruenceClass *CC) const { 2201 CongruenceClass *OldClass, 2202 CongruenceClass *NewClass) { 2240 CongruenceClass *OldClass, 2241 CongruenceClass *NewClass) { 2336 CongruenceClass *IClass = ValueToClass.lookup(I); 2341 CongruenceClass *EClass = nullptr; 2352 CongruenceClass *NewClass = createCongruenceClass(nullptr, E); 2541 auto *CC = ensureLeaderOfMemoryClass(MA); 3066 CongruenceClass *CC = 3167 for (const auto *CC : CongruenceClasses) { 3242 SmallVector<const CongruenceClass *, 16> PhiOpClasses; 3268 std::map<const Value *, CongruenceClass> BeforeIteration; 3281 DenseSet<std::pair<const CongruenceClass *, const CongruenceClass *>> 3281 DenseSet<std::pair<const CongruenceClass *, const CongruenceClass *>> 3290 auto *BeforeCC = &BeforeIteration.find(KV.first)->second; 3291 auto *AfterCC = KV.second; 3314 std::tuple<const Value *, const CongruenceClass *, Value *>>> 3560 const CongruenceClass &Dense, SmallVectorImpl<ValueDFS> &DFSOrderedSet, 3651 const CongruenceClass &Dense, 3762 CongruenceClass *NewGVN::getClassForExpression(const Expression *E) const { 3784 auto *CC = getClassForExpression(E); 3872 for (auto *CC : reverse(CongruenceClasses)) { 3903 CongruenceClass::MemberSet MembersLeft; 4090 CongruenceClass::MemberSet MembersLeft;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_map.h
103 typedef _Tp mapped_type; 104 typedef std::pair<const _Key, _Tp> value_type;usr/include/c++/7.4.0/bits/stl_pair.h
101 is_constructible<_T2, const _U2&>>::value; 101 is_constructible<_T2, const _U2&>>::value; 108 is_convertible<const _U2&, _T2>>::value; 108 is_convertible<const _U2&, _T2>>::value; 115 is_constructible<_T2, _U2&&>>::value; 115 is_constructible<_T2, _U2&&>>::value; 122 is_convertible<_U2&&, _T2>>::value; 122 is_convertible<_U2&&, _T2>>::value; 129 is_convertible<_U2&&, _T2>>; 129 is_convertible<_U2&&, _T2>>; 134 is_constructible<_T2, _U2&&>, 134 is_constructible<_T2, _U2&&>, 143 is_convertible<const _U2&, _T2>>; 143 is_convertible<const _U2&, _T2>>; 148 is_constructible<_T2, const _U2&&>, 148 is_constructible<_T2, const _U2&&>, 209 : private __pair_base<_T1, _T2> 212 typedef _T2 second_type; /// @c second_type is the second bound type 215 _T2 second; /// @c second is a copy of the second object 252 using _PCCP = _PCC<true, _T1, _T2>; 260 constexpr pair(const _T1& __a, const _T2& __b) 269 explicit constexpr pair(const _T1& __a, const _T2& __b) 283 _T1, _T2>; 311 constexpr pair(_U1&& __x, const _T2& __y) 318 explicit constexpr pair(_U1&& __x, const _T2& __y) 325 constexpr pair(const _T1& __x, _U2&& __y) 341 constexpr pair(_U1&& __x, _U2&& __y) 380 is_copy_assignable<_T2>>::value, 391 is_move_assignable<_T2>>::value,usr/include/c++/7.4.0/type_traits
215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type 326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type 354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type 381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type 567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type 581 : public __or_<is_lvalue_reference<_Tp>, 582 is_rvalue_reference<_Tp>>::type 588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type 588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type 611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>, 611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>, 611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>, 612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type 612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type 631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type 777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>> 777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>> 798 typedef decltype(__test<_Tp>(0)) type; 811 remove_all_extents<_Tp>::type>::type 825 : public __is_destructible_safe<_Tp>::type 984 typedef decltype(__test<_Tp, _Arg>(0)) type; 989 : public __and_<is_destructible<_Tp>, 990 __is_direct_constructible_impl<_Tp, _Arg>> 1072 __is_direct_constructible_ref_cast<_Tp, _Arg>, 1073 __is_direct_constructible_new_safe<_Tp, _Arg> 1079 : public __is_direct_constructible_new<_Tp, _Arg>::type 1119 : public __is_direct_constructible<_Tp, _Arg> 1130 : public __is_constructible_impl<_Tp, _Args...>::type 1526 static void __test_aux(_To1); 1538 typedef decltype(__test<_From, _To>(0)) type; 1545 : public __is_convertible_helper<_From, _To>::type 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; }; 1955 { typedef _Tp type; };