|
reference, declaration → definition
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;