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

Declarations

include/llvm/Analysis/LoopInfo.h
   60 class InductionDescriptor;

References

include/llvm/ADT/MapVector.h
   83   std::pair<KeyT, ValueT>       &front()       { return Vector.front(); }
   84   const std::pair<KeyT, ValueT> &front() const { return Vector.front(); }
   85   std::pair<KeyT, ValueT>       &back()        { return Vector.back(); }
   86   const std::pair<KeyT, ValueT> &back()  const { return Vector.back(); }
   98   ValueT &operator[](const KeyT &Key) {
  110   ValueT lookup(const KeyT &Key) const {
  111     static_assert(std::is_copy_constructible<ValueT>::value,
  117   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  129   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
include/llvm/Analysis/IVDescriptors.h
  295                  InductionDescriptor &D, const SCEV *Expr = nullptr,
  302                                InductionDescriptor &D);
  312                              InductionDescriptor &D, bool Assume = false);
include/llvm/Analysis/LoopInfo.h
  722                               InductionDescriptor &IndDesc) const;
include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
  215   using InductionList = MapVector<PHINode *, InductionDescriptor>;
  372   void addInductionPhi(PHINode *Phi, const InductionDescriptor &ID,
lib/Analysis/IVDescriptors.cpp
  829                                            InductionDescriptor &D) {
  987                                          InductionDescriptor &D, bool Assume) {
 1031     InductionDescriptor &D, const SCEV *Expr,
lib/Analysis/LoopInfo.cpp
  200   InductionDescriptor IndDesc;
  201   if (!InductionDescriptor::isInductionPHI(&IndVar, &L, &SE, IndDesc))
  304     InductionDescriptor IndDesc;
  305     if (!InductionDescriptor::isInductionPHI(&IndVar, this, &SE, IndDesc))
  329                                   InductionDescriptor &IndDesc) const {
  331     return InductionDescriptor::isInductionPHI(IndVar, this, &SE, IndDesc);
  349   InductionDescriptor IndDesc;
  350   if (!InductionDescriptor::isInductionPHI(&AuxIndVar, this, &SE, IndDesc))
  402   InductionDescriptor IndDesc;
lib/Transforms/Scalar/LoopInterchange.cpp
  684     InductionDescriptor ID;
  685     if (InductionDescriptor::isInductionPHI(&PHI, L, SE, ID))
lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  492     PHINode *Phi, const InductionDescriptor &ID,
  516   if (ID.getKind() == InductionDescriptor::IK_IntInduction &&
  548     InductionDescriptor ID;
  549     if (InductionDescriptor::isInductionPHI(&Phi, TheLoop, PSE, ID) &&
  550         ID.getKind() == InductionDescriptor::IK_IntInduction) {
  637         InductionDescriptor ID;
  638         if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID)) {
  653         if (InductionDescriptor::isInductionPHI(Phi, TheLoop, PSE, ID, true)) {
lib/Transforms/Vectorize/LoopVectorize.cpp
  510   void fixupIVUsers(PHINode *OrigPhi, const InductionDescriptor &II,
  567                         const InductionDescriptor &ID);
  574   void createVectorIntOrFpInductionPHI(const InductionDescriptor &II,
  602   void recordVectorLoopValueForInductionCast(const InductionDescriptor &ID,
  641                               const InductionDescriptor &ID) const;
 1675     const InductionDescriptor &II, Value *Step, Instruction *EntryVal) {
 1767     const InductionDescriptor &ID, const Instruction *EntryVal,
 1801   auto ID = II->second;
 1949                                            const InductionDescriptor &ID) {
 2797     const InductionDescriptor &ID) const {
 2834   case InductionDescriptor::IK_IntInduction: {
 2843   case InductionDescriptor::IK_PtrInduction: {
 2851   case InductionDescriptor::IK_FpInduction: {
 2877   case InductionDescriptor::IK_NoInduction:
 3004     InductionDescriptor II = InductionEntry.second;
 3106                                        const InductionDescriptor &II,
 4006   InductionDescriptor II = Legal->getInductionVars()->lookup(P);
 4012   case InductionDescriptor::IK_NoInduction:
 4014   case InductionDescriptor::IK_IntInduction:
 4015   case InductionDescriptor::IK_FpInduction:
 4017   case InductionDescriptor::IK_PtrInduction: {
 4463     if (Induction.second.getKind() != InductionDescriptor::IK_PtrInduction)
 4512     if (Induction.second.getKind() == InductionDescriptor::IK_PtrInduction)
 6373     InductionDescriptor &IndDes = Induction.second;
 6553     InductionDescriptor &IndDes = Induction.second;
 6780     InductionDescriptor II = Legal->getInductionVars()->lookup(Phi);
 6781     if (II.getKind() == InductionDescriptor::IK_IntInduction ||
 6782         II.getKind() == InductionDescriptor::IK_FpInduction)
lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
   61         InductionDescriptor II = Inductions->lookup(Phi);
   62         if (II.getKind() == InductionDescriptor::IK_IntInduction ||
   63             II.getKind() == InductionDescriptor::IK_FpInduction) {
unittests/Analysis/IVDescriptorsTest.cpp
   84         InductionDescriptor IndDesc;
   86             InductionDescriptor::isInductionPHI(Inst_i, L, &SE, IndDesc);
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
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)
  326        : first(__x), second(std::forward<_U2>(__y)) { }
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  523                    typename __decay_and_strip<_T2>::__type>
  524     make_pair(_T1&& __x, _T2&& __y)
  527       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
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
  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
  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
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::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
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 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;
 1629     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2118       typedef typename remove_reference<_Tp>::type __remove_type;
 2131       typedef _Tp __type;
 2144 	typename decay<_Tp>::type>::__type __type;