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

References

lib/Target/Hexagon/HexagonOptAddrMode.cpp
  166   RegisterRef OffsetRR;
  169     RegisterRef RR = UA.Addr->getRegRef(*DFG);
  215     RegisterRef UR = UN.Addr->getRegRef(*DFG);
  248     RegisterRef DR = DFG->getPRI().normalize(DA.Addr->getRegRef(*DFG));
  286   RegisterRef LRExtRR;
  291     RegisterRef RR = UA.Addr->getRegRef(*DFG);
lib/Target/Hexagon/RDFCopy.cpp
   46       RegisterRef DstR = DFG.makeRegRef(Dst.getReg(), Dst.getSubReg());
   47       RegisterRef SrcR = DFG.makeRegRef(Src.getReg(), Src.getSubReg());
   88 NodeId CopyPropagation::getLocalReachingDef(RegisterRef RefRR,
  145       RegisterRef DR = DA.Addr->getRegRef(DFG);
  149       RegisterRef SR = FR->second;
lib/Target/Hexagon/RDFCopy.h
   38     using EqualityMap = std::map<RegisterRef, RegisterRef>;
   38     using EqualityMap = std::map<RegisterRef, RegisterRef>;
   54     NodeId getLocalReachingDef(RegisterRef RefRR, NodeAddr<InstrNode*> IA);
lib/Target/Hexagon/RDFGraph.cpp
   57 raw_ostream &operator<< (raw_ostream &OS, const Print<RegisterRef> &P) {
  309   for (auto I : P.Obj)
  408 RegisterRef RefNode::getRegRef(const DataFlowGraph &G) const {
  418 void RefNode::setRegRef(RegisterRef RR, DataFlowGraph &G) {
  814       RegisterRef RR, NodeAddr<BlockNode*> PredB, uint16_t Flags) {
  830       RegisterRef RR, uint16_t Flags) {
  907     RegisterRef RR = *I;
  932       for (RegisterRef RR : EHRegs) {
  964 RegisterRef DataFlowGraph::makeRegRef(unsigned Reg, unsigned Sub) const {
  973 RegisterRef DataFlowGraph::makeRegRef(const MachineOperand &Op) const {
  980 RegisterRef DataFlowGraph::restrictRef(RegisterRef AR, RegisterRef BR) const {
  980 RegisterRef DataFlowGraph::restrictRef(RegisterRef AR, RegisterRef BR) const {
  980 RegisterRef DataFlowGraph::restrictRef(RegisterRef AR, RegisterRef BR) const {
 1054     RegisterRef RR = PDA.Addr->getRegRef(*this);
 1100     RegisterRef RR = PDA.Addr->getRegRef(*this);
 1180   RegisterRef RR = RA.Addr->getRegRef(*this);
 1274       RegisterRef UR = makeRegRef(Op);
 1342     RegisterRef RR = makeRegRef(Op);
 1436     for (RegisterRef I : RRs)
 1443   for (RegisterRef I : HasDF->second)
 1446   std::vector<RegisterRef> MaxRefs;
 1447   for (RegisterRef I : MaxDF)
 1490       RegisterRef RR = MaxRefs[ClosureIdx[X]];
 1498         RegisterRef RR = MaxRefs[ClosureIdx[X]];
 1570   RegisterRef RR = TA.Addr->getRegRef(*this);
 1577     RegisterRef QR = I->Addr->getRegRef(*this);
 1621     RegisterRef RR = RA.Addr->getRegRef(*this);
 1710         RegisterRef RR = PUA.Addr->getRegRef(*this);
lib/Target/Hexagon/RDFGraph.h
  412   using RegisterSet = std::set<RegisterRef>;
  518     RegisterRef getRegRef(const DataFlowGraph &G) const;
  525     void setRegRef(RegisterRef RR, DataFlowGraph &G);
  553     NodeAddr<RefNode*> getNextRef(RegisterRef RR, Predicate P, bool NextOnly,
  740     PackedRegisterRef pack(RegisterRef RR) {
  743     PackedRegisterRef pack(RegisterRef RR) const {
  746     RegisterRef unpack(PackedRegisterRef PR) const {
  750     RegisterRef makeRegRef(unsigned Reg, unsigned Sub) const;
  751     RegisterRef makeRegRef(const MachineOperand &Op) const;
  752     RegisterRef restrictRef(RegisterRef AR, RegisterRef BR) const;
  752     RegisterRef restrictRef(RegisterRef AR, RegisterRef BR) const;
  752     RegisterRef restrictRef(RegisterRef AR, RegisterRef BR) const;
  827         RegisterRef RR, NodeAddr<BlockNode*> PredB,
  832         RegisterRef RR, uint16_t Flags = NodeAttrs::PhiRef);
  887   NodeAddr<RefNode*> RefNode::getNextRef(RegisterRef RR, Predicate P,
  929     Print(const T &x, const DataFlowGraph &g) : Obj(x), G(g) {}
  931     const T &Obj;
  941   raw_ostream &operator<<(raw_ostream &OS, const Print<RegisterRef> &P);
lib/Target/Hexagon/RDFLiveness.cpp
  145     RegisterRef RR = TA.Addr->getRegRef(DFG);
  237       RegisterRef QR = DA.Addr->getRegRef(DFG);
  269 Liveness::getAllReachingDefsRec(RegisterRef RefRR, NodeAddr<RefNode*> RefA,
  275 Liveness::getAllReachingDefsRecImpl(RegisterRef RefRR, NodeAddr<RefNode*> RefA,
  322 NodeAddr<RefNode*> Liveness::getNearestAliasedRef(RegisterRef RefRR,
  379 NodeSet Liveness::getAllReachedUses(RegisterRef RefRR,
  395       RegisterRef UR = UA.Addr->getRegRef(DFG);
  406     RegisterRef DR = DA.Addr->getRegRef(DFG);
  477           RegisterRef R = PRI.normalize(A.Addr->getRegRef(DFG));
  522         RegisterRef R(UI->first, I.second);
  530         if (RegisterRef RC = Covered.clearIn(R)) {
  533           RegisterRef S = PRI.mapTo(RC, UI->first);
  559       RegisterRef UR = PUA.Addr->getRegRef(DFG);
  622       RegisterRef UR = PRI.normalize(UA.Addr->getRegRef(DFG));
  640           RegisterRef R(T.first);
  652             if (RegisterRef SS = MidDefs.clearIn(RegisterRef(R.Reg, M))) {
  672         RegisterRef RR = NodeAddr<DefNode*>(Ds[0]).Addr->getRegRef(DFG);
  777             RegisterRef S(RS.first, P.second);
  811       std::vector<RegisterRef> LV;
  816       for (auto I : LV)
  827       for (auto I : LV)
  846       RegisterRef R = *I;
  995     RegisterRef LRef(LE.first);
 1043           RegisterRef T = RRs.clearIn(LRef);
 1076       RegisterRef RR = PRI.normalize(UA.Addr->getRegRef(DFG));
lib/Target/Hexagon/RDFLiveness.h
   70     NodeSet getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode*> DefA,
   73     NodeSet getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode*> DefA) {
   77     std::pair<NodeSet,bool> getAllReachingDefsRec(RegisterRef RefRR,
   80     NodeAddr<RefNode*> getNearestAliasedRef(RegisterRef RefRR,
  140     std::pair<NodeSet,bool> getAllReachingDefsRecImpl(RegisterRef RefRR,
lib/Target/Hexagon/RDFRegisters.cpp
   97 RegisterRef PhysicalRegisterInfo::normalize(RegisterRef RR) const {
   97 RegisterRef PhysicalRegisterInfo::normalize(RegisterRef RR) const {
  131 bool PhysicalRegisterInfo::aliasRR(RegisterRef RA, RegisterRef RB) const {
  131 bool PhysicalRegisterInfo::aliasRR(RegisterRef RA, RegisterRef RB) const {
  162 bool PhysicalRegisterInfo::aliasRM(RegisterRef RR, RegisterRef RM) const {
  162 bool PhysicalRegisterInfo::aliasRM(RegisterRef RR, RegisterRef RM) const {
  197 bool PhysicalRegisterInfo::aliasMM(RegisterRef RM, RegisterRef RN) const {
  197 bool PhysicalRegisterInfo::aliasMM(RegisterRef RM, RegisterRef RN) const {
  225 RegisterRef PhysicalRegisterInfo::mapTo(RegisterRef RR, unsigned R) const {
  225 RegisterRef PhysicalRegisterInfo::mapTo(RegisterRef RR, unsigned R) const {
  240 bool RegisterAggr::hasAliasOf(RegisterRef RR) const {
  253 bool RegisterAggr::hasCoverOf(RegisterRef RR) const {
  268 RegisterAggr &RegisterAggr::insert(RegisterRef RR) {
  287 RegisterAggr &RegisterAggr::intersect(RegisterRef RR) {
  296 RegisterAggr &RegisterAggr::clear(RegisterRef RR) {
  305 RegisterRef RegisterAggr::intersectWith(RegisterRef RR) const {
  305 RegisterRef RegisterAggr::intersectWith(RegisterRef RR) const {
  310   RegisterRef NR = T.makeRegRef();
  315 RegisterRef RegisterAggr::clearIn(RegisterRef RR) const {
  315 RegisterRef RegisterAggr::clearIn(RegisterRef RR) const {
  319 RegisterRef RegisterAggr::makeRegRef() const {
  375     RegisterRef R = RG.PRI.getRefForUnit(U);
lib/Target/Hexagon/RDFRegisters.h
   83     bool operator== (const RegisterRef &RR) const {
   87     bool operator!= (const RegisterRef &RR) const {
   91     bool operator< (const RegisterRef &RR) const {
  113     RegisterRef normalize(RegisterRef RR) const;
  113     RegisterRef normalize(RegisterRef RR) const;
  115     bool alias(RegisterRef RA, RegisterRef RB) const {
  115     bool alias(RegisterRef RA, RegisterRef RB) const {
  123     RegisterRef getRefForUnit(uint32_t U) const {
  131     RegisterRef mapTo(RegisterRef RR, unsigned R) const;
  131     RegisterRef mapTo(RegisterRef RR, unsigned R) const;
  152     bool aliasRR(RegisterRef RA, RegisterRef RB) const;
  152     bool aliasRR(RegisterRef RA, RegisterRef RB) const;
  153     bool aliasRM(RegisterRef RR, RegisterRef RM) const;
  153     bool aliasRM(RegisterRef RR, RegisterRef RM) const;
  154     bool aliasMM(RegisterRef RM, RegisterRef RN) const;
  154     bool aliasMM(RegisterRef RM, RegisterRef RN) const;
  163     bool hasAliasOf(RegisterRef RR) const;
  164     bool hasCoverOf(RegisterRef RR) const;
  166     static bool isCoverOf(RegisterRef RA, RegisterRef RB,
  166     static bool isCoverOf(RegisterRef RA, RegisterRef RB,
  171     RegisterAggr &insert(RegisterRef RR);
  173     RegisterAggr &intersect(RegisterRef RR);
  175     RegisterAggr &clear(RegisterRef RR);
  178     RegisterRef intersectWith(RegisterRef RR) const;
  178     RegisterRef intersectWith(RegisterRef RR) const;
  179     RegisterRef clearIn(RegisterRef RR) const;
  179     RegisterRef clearIn(RegisterRef RR) const;
  180     RegisterRef makeRegRef() const;
  196       RegisterRef operator*() const {
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  475 	{ __a.construct(__p, std::forward<_Args>(__args)...); }
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   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
   98     move(_Tp&& __t) noexcept
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/predefined_ops.h
   64       operator()(_Iterator __it, _Value& __val) const
   89       operator()(_Value& __val, _Iterator __it) const
usr/include/c++/7.4.0/bits/stl_construct.h
   74     _Construct(_T1* __p, _Args&&... __args)
   74     _Construct(_T1* __p, _Args&&... __args)
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
  111       typedef _Result 	result_type;  
  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
  870     : public unary_function<_Tp,_Tp>
  870     : public unary_function<_Tp,_Tp>
  872       _Tp&
  873       operator()(_Tp& __x) const
  876       const _Tp&
  877       operator()(const _Tp& __x) const
usr/include/c++/7.4.0/bits/stl_heap.h
  129 		_Distance __holeIndex, _Distance __topIndex, _Tp __value,
  215 		  _Distance __len, _Tp __value, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
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)
  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)
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  361 	: first(std::forward<_U1>(__p.first)),
  362 	  second(std::forward<_U2>(__p.second)) { }
  379 		__and_<is_copy_assignable<_T1>,
  380 		       is_copy_assignable<_T2>>::value,
  390 		__and_<is_move_assignable<_T1>,
  391 		       is_move_assignable<_T2>>::value,
  524     make_pair(_T1&& __x, _T2&& __y)
  524     make_pair(_T1&& __x, _T2&& __y)
usr/include/c++/7.4.0/bits/stl_set.h
  110       typedef _Key     key_type;
  111       typedef _Key     value_type;
  119 	rebind<_Key>::other _Key_alloc_type;
usr/include/c++/7.4.0/bits/stl_tree.h
  218       typedef _Rb_tree_node<_Val>* _Link_type;
  231       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
  233       _Val*
  237       const _Val*
  258       typedef _Tp  value_type;
  259       typedef _Tp& reference;
  260       typedef _Tp* pointer;
  265       typedef _Rb_tree_iterator<_Tp>        _Self;
  267       typedef _Rb_tree_node<_Tp>*           _Link_type;
  328       typedef _Tp        value_type;
  329       typedef const _Tp& reference;
  330       typedef const _Tp* pointer;
  332       typedef _Rb_tree_iterator<_Tp> iterator;
  337       typedef _Rb_tree_const_iterator<_Tp>        _Self;
  339       typedef const _Rb_tree_node<_Tp>*           _Link_type;
  447         rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
  454       typedef _Rb_tree_node<_Val>* 		_Link_type;
  455       typedef const _Rb_tree_node<_Val>*	_Const_Link_type;
  554 	  operator()(_Arg&& __arg) const
  563       typedef _Key 				key_type;
  564       typedef _Val 				value_type;
  621 	_M_construct_node(_Link_type __node, _Args&&... __args)
  625 	      ::new(__node) _Rb_tree_node<_Val>;
  628 				       std::forward<_Args>(__args)...);
  640         _M_create_node(_Args&&... __args)
  643 	  _M_construct_node(__tmp, std::forward<_Args>(__args)...);
  758       static const _Key&
  782       static const _Key&
  834 	_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
  894 		     const _Key& __k);
  898 		     const _Key& __k) const;
  902 		     const _Key& __k);
  906 		     const _Key& __k) const;
 1011         _M_insert_unique(_Arg&& __x);
 1019 	_M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
  962 	emplace_back(_Args&&... __args);
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/bits/vector.tcc
  101 				     std::forward<_Args>(__args)...);
  105 	  _M_realloc_insert(end(), std::forward<_Args>(__args)...);
  418 				   std::forward<_Args>(__args)...);
usr/include/c++/7.4.0/ext/aligned_buffer.h
   52       struct _Tp2 { _Tp _M_t; };
   54       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
   69       _Tp*
   73       const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list
   50       typedef _E 		value_type;
   51       typedef const _E& 	reference;
   52       typedef const _E& 	const_reference;
   54       typedef const _E* 	iterator;
   55       typedef const _E* 	const_iterator;
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
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1215     : public __and_<is_constructible<_Tp, _Args...>,
 1216 		    __is_nt_constructible_impl<_Tp, _Args...>>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1252     : public __is_nothrow_move_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>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_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; };
 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; };
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2131       typedef _Tp __type;
 2574       typename remove_reference<_Tp>::type>::type>::type