reference, declarationdefinition
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; };