|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
lib/Target/Hexagon/HexagonBitSimplify.cpp 1748 struct RegHalf : public BitTracker::RegisterRef {
Declarations
lib/Target/Hexagon/BitTracker.h 37 struct RegisterRef;
References
lib/Target/Hexagon/BitTracker.cpp 329 uint16_t BT::MachineEvaluator::getRegBitWidth(const RegisterRef &RR) const {
348 BT::RegisterCell BT::MachineEvaluator::getCell(const RegisterRef &RR,
375 void BT::MachineEvaluator::putCell(const RegisterRef &RR, RegisterCell RC,
726 RegisterRef RD = MI.getOperand(0);
728 RegisterRef RS = MI.getOperand(1);
730 RegisterRef RT = MI.getOperand(3);
745 RegisterRef RD = MI.getOperand(0);
746 RegisterRef RS = MI.getOperand(1);
805 RegisterRef DefRR(MD);
826 RegisterRef RU = PI.getOperand(i);
858 RegisterRef RU(MO);
864 RegisterRef RD(P.first);
876 RegisterRef RD(MO);
989 BT::RegisterCell BT::get(RegisterRef RR) const {
993 void BT::put(RegisterRef RR, const RegisterCell &RC) {
999 void BT::subst(RegisterRef OldRR, RegisterRef NewRR) {
999 void BT::subst(RegisterRef OldRR, RegisterRef NewRR) {
lib/Target/Hexagon/BitTracker.h 53 RegisterCell get(RegisterRef RR) const;
54 void put(RegisterRef RR, const RegisterCell &RC);
55 void subst(RegisterRef OldRR, RegisterRef NewRR);
55 void subst(RegisterRef OldRR, RegisterRef NewRR);
396 uint16_t getRegBitWidth(const RegisterRef &RR) const;
398 RegisterCell getCell(const RegisterRef &RR, const CellMapType &M) const;
399 void putCell(const RegisterRef &RR, RegisterCell RC, CellMapType &M) const;
404 RegisterCell getRef(const RegisterRef &RR, const CellMapType &M) const {
lib/Target/Hexagon/HexagonBitSimplify.cpp 210 static bool getSubregMask(const BitTracker::RegisterRef &RR,
217 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH,
217 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH,
226 const BitTracker::RegisterRef &RR, MachineRegisterInfo &MRI);
227 static bool isTransparentCopy(const BitTracker::RegisterRef &RD,
228 const BitTracker::RegisterRef &RS, MachineRegisterInfo &MRI);
404 bool HexagonBitSimplify::getSubregMask(const BitTracker::RegisterRef &RR,
432 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH,
432 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH,
895 const BitTracker::RegisterRef &RR, MachineRegisterInfo &MRI) {
925 bool HexagonBitSimplify::isTransparentCopy(const BitTracker::RegisterRef &RD,
926 const BitTracker::RegisterRef &RS, MachineRegisterInfo &MRI) {
1065 bool usedBitsEqual(BitTracker::RegisterRef RD, BitTracker::RegisterRef RS);
1065 bool usedBitsEqual(BitTracker::RegisterRef RD, BitTracker::RegisterRef RS);
1214 BitTracker::RegisterRef UR = *I;
1259 BitTracker::RegisterRef RR = MI.getOperand(OpN);
1276 bool RedundantInstrElimination::usedBitsEqual(BitTracker::RegisterRef RD,
1277 BitTracker::RegisterRef RS) {
1318 BitTracker::RegisterRef RD = MI->getOperand(0);
1328 BitTracker::RegisterRef RS = Op;
1503 bool findMatch(const BitTracker::RegisterRef &Inp,
1504 BitTracker::RegisterRef &Out, const RegisterSet &AVs);
1535 bool CopyGeneration::findMatch(const BitTracker::RegisterRef &Inp,
1536 BitTracker::RegisterRef &Out, const RegisterSet &AVs) {
1605 BitTracker::RegisterRef MR;
1623 BitTracker::RegisterRef TL = { R, SubLo };
1624 BitTracker::RegisterRef TH = { R, SubHi };
1625 BitTracker::RegisterRef ML, MH;
1666 BitTracker::RegisterRef RD = MI.getOperand(0);
1673 BitTracker::RegisterRef RS = MI.getOperand(1);
1683 BitTracker::RegisterRef SL, SH;
1698 BitTracker::RegisterRef RH = MI.getOperand(1), RL = MI.getOperand(2);
1708 BitTracker::RegisterRef RS = MI.getOperand(SrcX);
1748 struct RegHalf : public BitTracker::RegisterRef {
1754 bool validateReg(BitTracker::RegisterRef R, unsigned Opc, unsigned OpNum);
1757 BitTracker::RegisterRef &Rs, BitTracker::RegisterRef &Rt);
1757 BitTracker::RegisterRef &Rs, BitTracker::RegisterRef &Rt);
1762 bool genPackhl(MachineInstr *MI, BitTracker::RegisterRef RD,
1764 bool genExtractHalf(MachineInstr *MI, BitTracker::RegisterRef RD,
1766 bool genCombineHalf(MachineInstr *MI, BitTracker::RegisterRef RD,
1768 bool genExtractLow(MachineInstr *MI, BitTracker::RegisterRef RD,
1770 bool genBitSplit(MachineInstr *MI, BitTracker::RegisterRef RD,
1772 bool simplifyTstbit(MachineInstr *MI, BitTracker::RegisterRef RD,
1774 bool simplifyExtractLow(MachineInstr *MI, BitTracker::RegisterRef RD,
1776 bool simplifyRCmp0(MachineInstr *MI, BitTracker::RegisterRef RD);
1873 bool BitSimplification::validateReg(BitTracker::RegisterRef R, unsigned Opc,
1883 const BitTracker::RegisterCell &RC, BitTracker::RegisterRef &Rs,
1884 BitTracker::RegisterRef &Rt) {
1919 BitTracker::RegisterRef RS = ValOp;
1964 BitTracker::RegisterRef RS = MI->getOperand(2);
2013 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC) {
2017 BitTracker::RegisterRef Rs, Rt;
2040 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC) {
2079 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC) {
2111 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC) {
2142 BitTracker::RegisterRef RS = Op;
2171 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC,
2324 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC) {
2330 BitTracker::RegisterRef RS = MI->getOperand(1);
2347 BitTracker::RegisterRef RR(V.RefI.Reg, 0);
2384 BitTracker::RegisterRef RD, const BitTracker::RegisterCell &RC,
2576 BitTracker::RegisterRef RD) {
2596 BitTracker::RegisterRef SR = MI->getOperand(1);
2725 BitTracker::RegisterRef RD = Op0;
2912 BitTracker::RegisterRef Inp, Out;
2919 BitTracker::RegisterRef LR, PR; // Loop Register, Preheader Register
lib/Target/Hexagon/HexagonBitTracker.cpp 163 std::vector<BT::RegisterRef> Vector;
178 const BT::RegisterRef &operator[](unsigned n) const {
965 BT::RegisterRef PD(DefR, 0);
lib/Target/Hexagon/HexagonBitTracker.h 27 using RegisterRef = BitTracker::RegisterRef;
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&&
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)...); }
204 allocator<_Tp>&)
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/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;
84 new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
111 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
130 { return size_t(-1) / sizeof(_Tp); }
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
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;
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };