|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/ADT/SmallVector.h 75 AlignedCharArrayUnion<T> FirstEl;
114 using value_type = T;
115 using iterator = T *;
116 using const_iterator = const T *;
121 using reference = T &;
122 using const_reference = const T &;
123 using pointer = T *;
124 using const_pointer = const T *;
259 class SmallVectorTemplateBase<T, true> : public SmallVectorTemplateCommon<T> {
264 static void destroy_range(T *, T *) {}
264 static void destroy_range(T *, T *) {}
286 T1 *I, T1 *E, T2 *Dest,
286 T1 *I, T1 *E, T2 *Dest,
286 T1 *I, T1 *E, T2 *Dest,
287 typename std::enable_if<std::is_same<typename std::remove_const<T1>::type,
288 T2>::value>::type * = nullptr) {
294 memcpy(reinterpret_cast<void *>(Dest), I, (E - I) * sizeof(T));
299 void grow(size_t MinSize = 0) { this->grow_pod(MinSize, sizeof(T)); }
302 void push_back(const T &Elt) {
305 memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
316 using SuperClass = SmallVectorTemplateBase<T>;
357 void resize(size_type N, const T &NV) {
374 LLVM_NODISCARD T pop_back_val() {
397 void append(size_type NumInputs, const T &Elt) {
405 void append(std::initializer_list<T> IL) {
412 void assign(size_type NumElts, const T &Elt) {
429 void assign(std::initializer_list<T> IL) {
467 iterator insert(iterator I, T &&Elt) {
482 ::new ((void*) this->end()) T(::std::move(this->back()));
489 T *EltPtr = &Elt;
497 iterator insert(iterator I, const T &Elt) {
511 ::new ((void*) this->end()) T(std::move(this->back()));
518 const T *EltPtr = &Elt;
526 iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
549 T *OldEnd = this->end();
564 T *OldEnd = this->end();
637 void insert(iterator I, std::initializer_list<T> IL) {
820 AlignedCharArrayUnion<T> InlineElts[N];
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
846 explicit SmallVector(size_t Size, const T &Value = T())
865 SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
884 SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/CodeGen/LiveInterval.h 185 bool operator<(const Segment &Other) const {
188 bool operator==(const Segment &Other) const {
192 bool operator!=(const Segment &Other) const {
199 using Segments = SmallVector<Segment, 2>;
208 using SegmentSet = std::set<Segment>;
253 for (const Segment &S : Other.segments)
399 const Segment *getSegmentContaining(SlotIndex Idx) const {
406 Segment *getSegmentContaining(SlotIndex Idx) {
471 iterator addSegment(Segment S);
519 void removeSegment(Segment S, bool RemoveDeadValNo = false) {
578 for (const Segment &S : segments)
664 void append(const LiveRange::Segment S);
668 void addSegmentToSet(Segment S);
884 raw_ostream &operator<<(raw_ostream &OS, const LiveRange::Segment &S);
886 inline bool operator<(SlotIndex V, const LiveRange::Segment &S) {
890 inline bool operator<(const LiveRange::Segment &S, SlotIndex V) {
907 SmallVector<LiveRange::Segment, 16> Spills;
920 void add(LiveRange::Segment);
include/llvm/CodeGen/LiveIntervals.h 152 LiveInterval::Segment addSegmentToEndOfBlock(unsigned reg,
include/llvm/Support/AlignOf.h 30 T t;
39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
50 llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/type_traits.h 91 T t;
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
145 std::is_copy_constructible<detail::trivial_helper<T>>::value;
147 !std::is_copy_constructible<T>::value;
151 std::is_move_constructible<detail::trivial_helper<T>>::value;
153 !std::is_move_constructible<T>::value;
157 is_copy_assignable<detail::trivial_helper<T>>::value;
159 !is_copy_assignable<T>::value;
163 is_move_assignable<detail::trivial_helper<T>>::value;
165 !is_move_assignable<T>::value;
169 std::is_destructible<detail::trivial_helper<T>>::value;
lib/CodeGen/LiveDebugVariables.cpp 727 LiveInterval::Segment *Segment = LR->getSegmentContaining(Start);
lib/CodeGen/LiveInterval.cpp 73 using Segment = LiveRange::Segment;
499 for (const Segment &O : Other.segments) {
534 for (const Segment &S : segments) {
544 void LiveRange::addSegmentToSet(Segment S) {
548 LiveRange::iterator LiveRange::addSegment(Segment S) {
558 void LiveRange::append(const Segment S) {
695 for (Segment &S : Other.segments)
716 for (Segment &S : Other.segments)
727 for (const Segment &S : RHS.segments)
740 for (const Segment &S : RHS.segments)
962 for (const Segment &S : segments)
991 raw_ostream& llvm::operator<<(raw_ostream& OS, const LiveRange::Segment &S) {
1005 for (const Segment &S : segments) {
1142 for (const auto &S : make_range(LR->begin(), WriteI))
1148 for (const auto &S : make_range(ReadI, LR->end()))
1159 static inline bool coalescable(const LiveRange::Segment &A,
1160 const LiveRange::Segment &B) {
1170 void LiveRangeUpdater::add(LiveRange::Segment Seg) {
lib/CodeGen/LiveIntervals.cpp 596 const LiveRange::Segment *Segment = SR.getSegmentContaining(VNI->def);
867 LiveRange::Segment
873 LiveRange::Segment S(SlotIndex(getInstructionIndex(startInst).getRegSlot()),
1549 LiveRange::Segment S(instrIdx.getRegSlot(),
1554 LiveRange::Segment S(instrIdx.getRegSlot(), lastUseIdx, VNI);
lib/CodeGen/LiveRangeCalc.cpp 316 LiveRange::Segment &Seg = *std::prev(UB);
lib/CodeGen/LiveRegMatrix.cpp 212 LiveRange::Segment Seg(Start, End, &valno);
lib/CodeGen/MachineVerifier.cpp 252 void report_context(const LiveRange::Segment &S) const;
534 void MachineVerifier::report_context(const LiveRange::Segment &S) const {
2460 const LiveRange::Segment &S = *I;
lib/CodeGen/RegisterCoalescer.cpp 695 for (LiveRange::Segment &ASeg : IntA.segments) {
719 for (const LiveRange::Segment &S : Src.segments) {
728 LiveRange::Segment Added = LiveRange::Segment(S.start, S.end, DstValNo);
729 LiveRange::Segment &Merged = *Dst.addSegment(Added);
960 if (LiveRange::Segment *S = SB.getSegmentContaining(CopyIdx))
1548 LiveRange::Segment *Seg = DstLI.getSegmentContaining(RegIndex);
lib/CodeGen/RegisterPressure.cpp 1259 const LiveRange::Segment *S = LR.getSegmentContaining(Pos);
1270 const LiveRange::Segment *S = LR.getSegmentContaining(Pos);
lib/CodeGen/SplitKit.cpp 1125 for (const LiveRange::Segment &S : Edit->getParent()) {
1231 const LiveRange::Segment *Seg = LR.getSegmentContaining(Def);
1411 for (const LiveRange::Segment &S : LI->segments) {
lib/CodeGen/VirtRegMap.cpp 332 for (const auto &Seg : LI) {
lib/Target/AMDGPU/SIWholeQuadMode.cpp 591 const LiveRange::Segment *S;
lib/Target/Hexagon/HexagonExpandCondsets.cpp 415 for (auto &Seg : Range) {
469 for (auto &Seg : Range) {
486 for (auto &Seg : Range) {
1110 LiveRange::Segment &LR = *I;
usr/include/c++/7.4.0/bits/algorithmfwd.h 259 fill_n(_OIter, _Size, const _Tp&);
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;
usr/include/c++/7.4.0/bits/cpp_type_traits.h 329 : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
329 : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
337 : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
337 : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
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
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/stl_algobase.h 737 __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
738 __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
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)...); }
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_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_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;
1019 _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
1023 _M_insert_unique_(const_iterator __pos, _Arg&& __x)
1026 return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
usr/include/c++/7.4.0/bits/stl_uninitialized.h 204 const _Tp& __x)
244 uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
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;
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
1142 : public is_constructible<_Tp, const _Tp&>
1142 : public is_constructible<_Tp, const _Tp&>
1148 : public __is_copy_constructible_impl<_Tp>
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>
1554 { 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; };
2574 typename remove_reference<_Tp>::type>::type>::type