|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/IfConversion.cpp 171 BBInfo &BBI;
179 IfcvtToken(BBInfo &b, IfcvtKind k, bool s, unsigned d, unsigned d2 = 0,
187 std::vector<BBInfo> BBAnalysis;
225 bool reverseBranchCondition(BBInfo &BBI) const;
226 bool ValidSimple(BBInfo &TrueBBI, unsigned &Dups,
228 bool ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
228 bool ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
237 bool ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
237 bool ValidDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
239 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const;
239 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const;
240 bool ValidForkedDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
240 bool ValidForkedDiamond(BBInfo &TrueBBI, BBInfo &FalseBBI,
242 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const;
242 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const;
243 void AnalyzeBranches(BBInfo &BBI);
244 void ScanInstructions(BBInfo &BBI,
254 bool FeasibilityAnalysis(BBInfo &BBI, SmallVectorImpl<MachineOperand> &Pred,
260 bool IfConvertSimple(BBInfo &BBI, IfcvtKind Kind);
261 bool IfConvertTriangle(BBInfo &BBI, IfcvtKind Kind);
262 bool IfConvertDiamondCommon(BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
262 bool IfConvertDiamondCommon(BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
262 bool IfConvertDiamondCommon(BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
266 bool IfConvertDiamond(BBInfo &BBI, IfcvtKind Kind,
269 bool IfConvertForkedDiamond(BBInfo &BBI, IfcvtKind Kind,
272 void PredicateBlock(BBInfo &BBI,
276 void CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
276 void CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
279 void MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges = true);
279 void MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges = true);
288 bool MeetIfcvtSizeLimit(BBInfo &TBBInfo, BBInfo &FBBInfo,
288 bool MeetIfcvtSizeLimit(BBInfo &TBBInfo, BBInfo &FBBInfo,
398 bool blockAlwaysFallThrough(BBInfo &BBI) const {
488 BBInfo &BBI = Token->BBI;
622 bool IfConverter::reverseBranchCondition(BBInfo &BBI) const {
646 bool IfConverter::ValidSimple(BBInfo &TrueBBI, unsigned &Dups,
671 bool IfConverter::ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
671 bool IfConverter::ValidTriangle(BBInfo &TrueBBI, BBInfo &FalseBBI,
878 BBInfo &TrueBBI, BBInfo &FalseBBI,
878 BBInfo &TrueBBI, BBInfo &FalseBBI,
880 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const {
880 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const {
960 BBInfo &TrueBBI, BBInfo &FalseBBI,
960 BBInfo &TrueBBI, BBInfo &FalseBBI,
962 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const {
962 BBInfo &TrueBBICalc, BBInfo &FalseBBICalc) const {
1017 void IfConverter::AnalyzeBranches(BBInfo &BBI) {
1053 void IfConverter::ScanInstructions(BBInfo &BBI,
1161 bool IfConverter::FeasibilityAnalysis(BBInfo &BBI,
1220 BBInfo &BBI = BBAnalysis[BB->getNumber()];
1268 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
1269 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
1291 BBInfo TrueBBICalc, FalseBBICalc;
1456 BBInfo &PBBI = BBAnalysis[Predecessor->getNumber()];
1527 bool IfConverter::IfConvertSimple(BBInfo &BBI, IfcvtKind Kind) {
1528 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
1529 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
1530 BBInfo *CvtBBI = &TrueBBI;
1531 BBInfo *NextBBI = &FalseBBI;
1612 bool IfConverter::IfConvertTriangle(BBInfo &BBI, IfcvtKind Kind) {
1613 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
1614 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
1615 BBInfo *CvtBBI = &TrueBBI;
1616 BBInfo *NextBBI = &FalseBBI;
1648 BBInfo &PBBI = BBAnalysis[PBB->getNumber()];
1767 BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
1767 BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
1767 BBInfo &BBI, BBInfo &TrueBBI, BBInfo &FalseBBI,
1788 BBInfo *BBI1 = &TrueBBI;
1789 BBInfo *BBI2 = &FalseBBI;
2003 BBInfo &BBI, IfcvtKind Kind,
2006 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
2007 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
2038 bool IfConverter::IfConvertDiamond(BBInfo &BBI, IfcvtKind Kind,
2041 BBInfo &TrueBBI = BBAnalysis[BBI.TrueBB->getNumber()];
2042 BBInfo &FalseBBI = BBAnalysis[BBI.FalseBB->getNumber()];
2070 BBInfo &TailBBI = BBAnalysis[TailBB->getNumber()];
2128 void IfConverter::PredicateBlock(BBInfo &BBI,
2171 void IfConverter::CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
2171 void IfConverter::CopyAndPredicateBlock(BBInfo &ToBBI, BBInfo &FromBBI,
2237 void IfConverter::MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges) {
2237 void IfConverter::MergeBlocks(BBInfo &ToBBI, BBInfo &FromBBI, bool AddEdges) {
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*;
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&&
83 constexpr _Tp&&
104 : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
105 is_copy_constructible<_Tp>>::type { };
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)...); }
97 _Destroy(_Tp* __pointer)
204 allocator<_Tp>&)
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_uninitialized.h 288 _ForwardIterator __result, allocator<_Tp>&)
644 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*
usr/include/c++/7.4.0/bits/unique_ptr.h 824 make_unique(_Args&&... __args)
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); }
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>
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>
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };