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

References

lib/Target/Hexagon/HexagonBlockRanges.cpp
   36   IndexType S = start(), E = end(), AS = A.start(), AE = A.end();
   50     IndexType E = (end() != IndexType::None) ? end() : start();
   50     IndexType E = (end() != IndexType::None) ? end() : start();
   51     IndexType AE = (A.end() != IndexType::None) ? A.end() : A.start();
   51     IndexType AE = (A.end() != IndexType::None) ? A.end() : A.start();
   61   IndexType AS = A.start(), AE = A.end();
   62   if (AS < start() || start() == IndexType::None)
   64   if (end() < AE || end() == IndexType::None) {
  115   IndexType AS = A.start(), AE = A.end();
  116   IndexType BS = B.start(), BE = B.end();
  120   if (AE == IndexType::None)
  133     if (BE == IndexType::None)
  159   IndexType Idx = IndexType::First;
  159   IndexType Idx = IndexType::First;
  168   Last = B.empty() ? IndexType::None : unsigned(Idx)-1;
  171 MachineInstr *HexagonBlockRanges::InstrIndexMap::getInstr(IndexType Idx) const {
  176 HexagonBlockRanges::IndexType HexagonBlockRanges::InstrIndexMap::getIndex(
  181   return IndexType::None;
  184 HexagonBlockRanges::IndexType HexagonBlockRanges::InstrIndexMap::getPrevIndex(
  185       IndexType Idx) const {
  187   if (Idx == IndexType::Entry)
  188     return IndexType::None;
  189   if (Idx == IndexType::Exit)
  192     return IndexType::Entry;
  196 HexagonBlockRanges::IndexType HexagonBlockRanges::InstrIndexMap::getNextIndex(
  197       IndexType Idx) const {
  199   if (Idx == IndexType::Entry)
  200     return IndexType::First;
  201   if (Idx == IndexType::Exit || Idx == Last)
  202     return IndexType::None;
  292   std::map<RegisterRef,IndexType> LastDef, LastUse;
  301     LastDef[R] = IndexType::Entry;
  304     auto LD = LastDef[R], LU = LastUse[R];
  305     if (LD == IndexType::None)
  306       LD = IndexType::Entry;
  307     if (LU == IndexType::None)
  308       LU = IndexType::Exit;
  310     LastUse[R] = LastDef[R] = IndexType::None;
  318     IndexType Index = IndexMap.getIndex(&In);
  379       if (LastDef[S] != IndexType::None || LastUse[S] != IndexType::None)
  379       if (LastDef[S] != IndexType::None || LastUse[S] != IndexType::None)
  388       if (LastDef[S] != IndexType::None || LastUse[S] != IndexType::None)
  388       if (LastDef[S] != IndexType::None || LastUse[S] != IndexType::None)
  403     LastUse[R] = IndexType::Exit;
  408     if (I.second != IndexType::None)
  411     if (I.second != IndexType::None)
  438       DeadMap[R].add(IndexType::Entry, IndexType::Exit, false, false);
  438       DeadMap[R].add(IndexType::Entry, IndexType::Exit, false, false);
  446     if (A->start() != IndexType::Entry) {
  447       IndexType DE = IndexMap.getPrevIndex(A->start());
  448       if (DE != IndexType::Entry)
  449         DeadMap[R].add(IndexType::Entry, DE, false, false);
  455       IndexType AE = (A->end() == IndexType::None) ? A->start() : A->end();
  455       IndexType AE = (A->end() == IndexType::None) ? A->start() : A->end();
  456       IndexType DS = IndexMap.getNextIndex(AE);
  458       IndexType DE = IndexMap.getPrevIndex(A->start());
  464     if (Z->end() != IndexType::Exit) {
  465       IndexType ZE = (Z->end() == IndexType::None) ? Z->start() : Z->end();
  465       IndexType ZE = (Z->end() == IndexType::None) ? Z->start() : Z->end();
  466       IndexType DS = IndexMap.getNextIndex(ZE);
  467       if (DS < IndexType::Exit)
  468         DeadMap[R].add(DS, IndexType::Exit, false, false);
  494                               HexagonBlockRanges::IndexType Idx) {
  495   if (Idx == HexagonBlockRanges::IndexType::None)
  497   if (Idx == HexagonBlockRanges::IndexType::Entry)
  499   if (Idx == HexagonBlockRanges::IndexType::Exit)
  501   return OS << unsigned(Idx)-HexagonBlockRanges::IndexType::First+1;
  523     HexagonBlockRanges::IndexType Idx = M.getIndex(&In);
lib/Target/Hexagon/HexagonBlockRanges.h
   56     static bool isInstr(IndexType X) { return X.Index >= First; }
   60     bool operator== (IndexType Idx) const;
   62     bool operator!= (IndexType Idx) const;
   63     IndexType operator++ ();
   65     bool operator< (IndexType Idx) const;
   66     bool operator<= (IndexType Idx) const;
   69     bool operator>  (IndexType Idx) const;
   70     bool operator>= (IndexType Idx) const;
   78   class IndexRange : public std::pair<IndexType,IndexType> {
   78   class IndexRange : public std::pair<IndexType,IndexType> {
   81     IndexRange(IndexType Start, IndexType End, bool F = false, bool T = false)
   81     IndexRange(IndexType Start, IndexType End, bool F = false, bool T = false)
   84     IndexType start() const { return first; }
   85     IndexType end() const   { return second; }
   99     void setStart(const IndexType &S) { first = S; }
  100     void setEnd(const IndexType &E)   { second = E; }
  107     void add(IndexType Start, IndexType End, bool Fixed, bool TiedEnd) {
  107     void add(IndexType Start, IndexType End, bool Fixed, bool TiedEnd) {
  126     MachineInstr *getInstr(IndexType Idx) const;
  127     IndexType getIndex(MachineInstr *MI) const;
  129     IndexType getPrevIndex(IndexType Idx) const;
  129     IndexType getPrevIndex(IndexType Idx) const;
  130     IndexType getNextIndex(IndexType Idx) const;
  130     IndexType getNextIndex(IndexType Idx) const;
  135     IndexType First, Last;
  139     std::map<IndexType,MachineInstr*> Map;
  183 inline bool HexagonBlockRanges::IndexType::operator== (IndexType Idx) const {
  191 inline bool HexagonBlockRanges::IndexType::operator!= (IndexType Idx) const {
  196 HexagonBlockRanges::IndexType HexagonBlockRanges::IndexType::operator++ () {
  210 inline bool HexagonBlockRanges::IndexType::operator< (IndexType Idx) const {
  230 inline bool HexagonBlockRanges::IndexType::operator<= (IndexType Idx) const {
  234 raw_ostream &operator<< (raw_ostream &OS, HexagonBlockRanges::IndexType Idx);
lib/Target/Hexagon/HexagonFrameLowering.cpp
 2020   using IndexType = HexagonBlockRanges::IndexType;
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_function.h
  121       typedef _Arg1 	first_argument_type; 
  124       typedef _Arg2 	second_argument_type;
  381     struct less : public binary_function<_Tp, _Tp, bool>
  381     struct less : public binary_function<_Tp, _Tp, bool>
  385       operator()(const _Tp& __x, const _Tp& __y) const
  385       operator()(const _Tp& __x, const _Tp& __y) const
usr/include/c++/7.4.0/bits/stl_map.h
  102       typedef _Key					key_type;
  103       typedef _Tp					mapped_type;
  104       typedef std::pair<const _Key, _Tp>		value_type;
  104       typedef std::pair<const _Key, _Tp>		value_type;
usr/include/c++/7.4.0/bits/stl_pair.h
  100 	return __and_<is_constructible<_T1, const _U1&>,
  100 	return __and_<is_constructible<_T1, const _U1&>,
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  107 	return __and_<is_convertible<const _U1&, _T1>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  114 	return __and_<is_constructible<_T1, _U1&&>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  121 	return __and_<is_convertible<_U1&&, _T1>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  133 	return __and_<is_constructible<_T1, const _U1&>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  147 	return __and_<is_constructible<_T1, _U1&&>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  209     : private __pair_base<_T1, _T2>
  211       typedef _T1 first_type;    /// @c first_type is the first bound type
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  214       _T1 first;                 /// @c first is a copy of the first object
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  283 			    _T1, _T2>;
  291         constexpr pair(const pair<_U1, _U2>& __p)
  311        constexpr pair(_U1&& __x, const _T2& __y)
  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)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  332        explicit pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  361 	: first(std::forward<_U1>(__p.first)),
  379 		__and_<is_copy_assignable<_T1>,
  380 		       is_copy_assignable<_T2>>::value,
  390 		__and_<is_move_assignable<_T1>,
  391 		       is_move_assignable<_T2>>::value,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  405 	operator=(const pair<_U1, _U2>& __p)
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  416 	operator=(pair<_U1, _U2>&& __p)
  448     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  448     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  448     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  448     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  495     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
  495     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
  495     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
  495     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
  524     make_pair(_T1&& __x, _T2&& __y)
usr/include/c++/7.4.0/bits/stl_tree.h
  563       typedef _Key 				key_type;
  758       static const _Key&
  782       static const _Key&
  894 		     const _Key& __k);
  898 		     const _Key& __k) const;
  902 		     const _Key& __k);
  906 		     const _Key& __k) const;
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
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  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
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_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
 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>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_move_assignable_impl<_Tp>
 1377     static void __helper(const _Tp&);
 1380     static true_type __test(const _Tp&,
 1381                             decltype(__helper<const _Tp&>({}))* = 0);
 1390     typedef decltype(__test(declval<_Tp>())) type;
 1395       : public __is_implicitly_default_constructible_impl<_Tp>::type
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_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; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2131       typedef _Tp __type;