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

Declarations

utils/TableGen/CodeGenSchedule.h
   29 class CodeGenRegisterClass;

References

include/llvm/ADT/ArrayRef.h
  108         const ArrayRef<U *> &A,
  110            std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
  118       const SmallVectorTemplateCommon<U *, DummyT> &Vec,
  120           std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
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)
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/list.tcc
   68       typedef _List_node<_Tp>  _Node;
   74 	  _Tp* __val = __tmp->_M_valptr();
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_iterator_base_types.h
  123       typedef _Tp        value_type;
usr/include/c++/7.4.0/bits/stl_list.h
  112       __gnu_cxx::__aligned_membuf<_Tp> _M_storage;
  113       _Tp*       _M_valptr()       { return _M_storage._M_ptr(); }
  114       _Tp const* _M_valptr() const { return _M_storage._M_ptr(); }
  130       typedef _List_iterator<_Tp>		_Self;
  131       typedef _List_node<_Tp>			_Node;
  135       typedef _Tp				value_type;
  136       typedef _Tp*				pointer;
  137       typedef _Tp&				reference;
  209       typedef _List_const_iterator<_Tp>		_Self;
  210       typedef const _List_node<_Tp>		_Node;
  211       typedef _List_iterator<_Tp>		iterator;
  215       typedef _Tp				value_type;
  216       typedef const _Tp*			pointer;
  217       typedef const _Tp&			reference;
  304 	rebind<_Tp>::other				_Tp_alloc_type;
  307 	rebind<_List_node<_Tp> >::other _Node_alloc_type;
  503     class list : protected _List_base<_Tp, _Alloc>
  514       typedef _List_base<_Tp, _Alloc>			_Base;
  521       typedef _Tp					 value_type;
  526       typedef _List_iterator<_Tp>			 iterator;
  527       typedef _List_const_iterator<_Tp>			 const_iterator;
  537       typedef _List_node<_Tp>				 _Node;
 1587       remove(const _Tp& __value);
 1965       typedef _GLIBCXX_STD_C::_List_const_iterator<_Tp> _CIter;
 1976       _GLIBCXX_STD_C::_List_const_iterator<_Tp> __beyond = __last;
usr/include/c++/7.4.0/bits/unique_ptr.h
  824     make_unique(_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
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/type_traits
 1633     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
utils/TableGen/AsmMatcherEmitter.cpp
 1224   for (const CodeGenRegisterClass &RC : RegClassList)
 1297   for (const CodeGenRegisterClass &RC : RegClassList) {
utils/TableGen/CodeGenRegisters.cpp
  841   CodeGenRegisterClass &Super = *SuperClasses.back();
  868   raw_ostream &operator<<(raw_ostream &OS, const CodeGenRegisterClass::Key &K) {
  880 operator<(const CodeGenRegisterClass::Key &B) const {
  894 static bool testSubClass(const CodeGenRegisterClass *A,
  895                          const CodeGenRegisterClass *B) {
  908 static bool TopoOrderRC(const CodeGenRegisterClass &PA,
  909                         const CodeGenRegisterClass &PB) {
  945     CodeGenRegisterClass &RC = *I;
  953       CodeGenRegisterClass &SubRC = *I2;
  969   for (auto &RC : RegClasses) {
  985   for (auto &RC : RegClasses)
  990 Optional<std::pair<CodeGenRegisterClass *, CodeGenRegisterClass *>>
  990 Optional<std::pair<CodeGenRegisterClass *, CodeGenRegisterClass *>>
 1002   CodeGenRegisterClass *BiggestSuperRegRC = getSubClassWithSubReg(SubIdx);
 1006   std::vector<CodeGenRegisterClass *> SuperRegRCs;
 1007   for (auto &RC : RegClasses)
 1014   std::vector<std::pair<CodeGenRegisterClass *, BitVector>> SuperRegClasses;
 1015   for (auto &RC: RegClasses) {
 1036   CodeGenRegisterClass *ChosenSuperRegClass = nullptr;
 1037   CodeGenRegisterClass *SubRegRC = nullptr;
 1038   for (auto *SuperRegRC : SuperRegRCs) {
 1073   for (CodeGenRegisterClass *RC : FindI->second)
 1194     CodeGenRegisterClass &RC = RegClasses.back();
 1205   for (auto &RC : RegClasses)
 1207   CodeGenRegisterClass::computeSubClasses(*this);
 1235 void CodeGenRegBank::addToMaps(CodeGenRegisterClass *RC) {
 1241   CodeGenRegisterClass::Key K(*RC);
 1246 CodeGenRegisterClass*
 1247 CodeGenRegBank::getOrCreateSubClass(const CodeGenRegisterClass *RC,
 1251   CodeGenRegisterClass::Key K(Members, RC->RSI);
 1262 CodeGenRegisterClass *CodeGenRegBank::getRegClass(Record *Def) {
 1263   if (CodeGenRegisterClass *RC = Def2RC[Def])
 1534   for (auto &RegClass : RegClasses) {
 1595   for (auto &RegClass : RegBank.getRegClasses()) {
 1881   for (auto &RC : RegClasses) {
 1982   for (auto &RC : RegClasses) {
 2095   for (CodeGenRegisterClass &RC : RegClasses) {
 2128 void CodeGenRegBank::inferCommonSubClass(CodeGenRegisterClass *RC) {
 2134     CodeGenRegisterClass *RC1 = RC;
 2135     CodeGenRegisterClass *RC2 = &*I;
 2168 void CodeGenRegBank::inferSubClassWithSubReg(CodeGenRegisterClass *RC) {
 2205     CodeGenRegisterClass *SubRC =
 2219 void CodeGenRegBank::inferMatchingSuperRegClass(CodeGenRegisterClass *RC,
 2220                                                 std::list<CodeGenRegisterClass>::iterator FirstSubRegRC) {
 2250       CodeGenRegisterClass &SubRC = *I;
 2297     CodeGenRegisterClass *RC = &*I;
 2331 const CodeGenRegisterClass*
 2334   const CodeGenRegisterClass *FoundRC = nullptr;
 2335   for (const auto &RC : getRegClasses()) {
 2371 const CodeGenRegisterClass *
 2375   const CodeGenRegisterClass *BestRC = nullptr;
 2376   for (const auto &RC : getRegClasses()) {
utils/TableGen/CodeGenRegisters.h
  300     SmallVector<CodeGenRegisterClass*, 4> SuperClasses;
  310     DenseMap<const CodeGenSubRegIndex *, CodeGenRegisterClass *>
  318     DenseMap<const CodeGenSubRegIndex *, SmallPtrSet<CodeGenRegisterClass *, 8>>
  373     bool hasSubClass(const CodeGenRegisterClass *RC) const {
  379     CodeGenRegisterClass *
  392     Optional<std::pair<CodeGenRegisterClass *, CodeGenRegisterClass *>>
  392     Optional<std::pair<CodeGenRegisterClass *, CodeGenRegisterClass *>>
  397                                CodeGenRegisterClass *SubRC) {
  408                           CodeGenRegisterClass *SuperRC) {
  419     ArrayRef<CodeGenRegisterClass*> getSuperClasses() const {
  456       Key(const CodeGenRegisterClass &RC)
  548     std::list<CodeGenRegisterClass> RegClasses;
  549     DenseMap<Record*, CodeGenRegisterClass*> Def2RC;
  550     typedef std::map<CodeGenRegisterClass::Key, CodeGenRegisterClass*> RCKeyMap;
  550     typedef std::map<CodeGenRegisterClass::Key, CodeGenRegisterClass*> RCKeyMap;
  573     void addToMaps(CodeGenRegisterClass*);
  576     CodeGenRegisterClass *getOrCreateSubClass(const CodeGenRegisterClass *RC,
  576     CodeGenRegisterClass *getOrCreateSubClass(const CodeGenRegisterClass *RC,
  582     void inferCommonSubClass(CodeGenRegisterClass *RC);
  583     void inferSubClassWithSubReg(CodeGenRegisterClass *RC);
  585     void inferMatchingSuperRegClass(CodeGenRegisterClass *RC) {
  590         CodeGenRegisterClass *RC,
  591         std::list<CodeGenRegisterClass>::iterator FirstSubRegRC);
  700     std::list<CodeGenRegisterClass> &getRegClasses() { return RegClasses; }
  702     const std::list<CodeGenRegisterClass> &getRegClasses() const {
  707     CodeGenRegisterClass *getRegClass(Record*);
  714     const CodeGenRegisterClass* getRegClassForRegister(Record *R);
  720     const CodeGenRegisterClass *
utils/TableGen/CodeGenTarget.cpp
  300 Optional<CodeGenRegisterClass *>
  304   std::vector<CodeGenRegisterClass *> Candidates;
  309   for (CodeGenRegisterClass &RC : RegClasses) {
  311     CodeGenRegisterClass *SubClassWithSubReg = RC.getSubClassWithSubReg(SubIdx);
  366   for (const auto &RC : getRegBank().getRegClasses()) {
  381   for (const auto &RC : getRegBank().getRegClasses())
utils/TableGen/CodeGenTarget.h
  108   Optional<CodeGenRegisterClass *>
  121   const CodeGenRegisterClass &getRegisterClass(Record *R) const {
utils/TableGen/DAGISelMatcherGen.cpp
   29   for (const auto &RC : T.getRegBank().getRegClasses()) {
utils/TableGen/FastISelEmitter.cpp
   36   const CodeGenRegisterClass *RC;
   41   InstructionMemo(StringRef Name, const CodeGenRegisterClass *RC,
  190                   const CodeGenRegisterClass *OrigDstRC) {
  204     const CodeGenRegisterClass *DstRC = nullptr;
  264       const CodeGenRegisterClass *RC = nullptr;
  489     const CodeGenRegisterClass *DstRC = nullptr;
utils/TableGen/GlobalISelEmitter.cpp
 1299   const CodeGenRegisterClass &RC;
 1303                              const CodeGenRegisterClass &RC)
 1506   Optional<Kind *> addPredicate(Args &&... args) {
 2909   const CodeGenRegisterClass &RC;
 2913                                    const CodeGenRegisterClass &RC)
 2969 Kind &RuleMatcher::addAction(Args &&... args) {
 2983                                           Args &&... args) {
 3335   Optional<const CodeGenRegisterClass *>
 3344   Optional<const CodeGenRegisterClass *>
 3349   Optional<const CodeGenRegisterClass *>
 3354   Optional<const CodeGenRegisterClass *>
 3895       const CodeGenRegisterClass *RC
 4135     Optional<const CodeGenRegisterClass *> SuperClass =
 4254       CodeGenRegisterClass *RC = CGRegs.getRegClass(RCDef);
 4406 Optional<const CodeGenRegisterClass *>
 4413   CodeGenRegisterClass *RC = CGRegs.getRegClass(RCRec);
 4419 Optional<const CodeGenRegisterClass *>
 4464     const CodeGenRegisterClass &RC = Target.getRegisterClass(DstIOpRec);
 4469     const CodeGenRegisterClass &RC = Target.getRegisterClass(DstIOpRec);
 4476 Optional<const CodeGenRegisterClass *>
 4499 Optional<const CodeGenRegisterClass *>
 4509   if (Optional<const CodeGenRegisterClass *> SuperRegisterClass =
 4582     const CodeGenRegisterClass &RC = Target.getRegisterClass(RCDef);
utils/TableGen/RISCVCompressInstEmitter.cpp
  136   CodeGenRegisterClass RC = Target.getRegisterClass(RegClass);
  155     CodeGenRegisterClass RC = Target.getRegisterClass(InstOpType);
  156     CodeGenRegisterClass SubRC = Target.getRegisterClass(DagOpType);
utils/TableGen/RegisterBankEmitter.cpp
   31   typedef std::vector<const CodeGenRegisterClass *> RegisterClassesTy;
   40   const CodeGenRegisterClass *RCWithLargestRegsSize;
   62   std::vector<const CodeGenRegisterClass *>
   65     std::vector<const CodeGenRegisterClass *> RCs;
   72   void addRegisterClass(const CodeGenRegisterClass *RC) {
   95   const CodeGenRegisterClass *getRCWithLargestRegsSize() const {
  170     CodeGenRegBank &RegisterClassHierarchy, const CodeGenRegisterClass *RC,
  172     std::function<void(const CodeGenRegisterClass *, StringRef)> VisitFn,
  173     SmallPtrSetImpl<const CodeGenRegisterClass *> &VisitedRCs) {
  183   for (const auto &PossibleSubclass : RegisterClassHierarchy.getRegClasses()) {
  219     std::vector<std::vector<const CodeGenRegisterClass *>> RCsGroupedByWord(
  245     const CodeGenRegisterClass &RC = *Bank.getRCWithLargestRegsSize();
  285     SmallPtrSet<const CodeGenRegisterClass *, 8> VisitedRCs;
  288     for (const CodeGenRegisterClass *RC :
utils/TableGen/RegisterInfoEmitter.cpp
  146     for (const auto &RC : RegisterClasses)
  203   for (const auto &RC : RegBank.getRegClasses()) {
 1037   for (const auto &RC : RegisterClasses) {
 1075   for (const auto &RC : RegisterClasses) {
 1184     for (const auto &RC : RegisterClasses) {
 1221   for (const auto &RC : RegisterClasses) {
 1234     for (const auto &RC : RegisterClasses) {
 1278       for (const auto &RC : RegisterClasses) {
 1321     for (const auto &RC : RegisterClasses) {
 1349     for (const auto &RC : RegisterClasses) {
 1350       ArrayRef<CodeGenRegisterClass*> Supers = RC.getSuperClasses();
 1358       for (const auto *Super : Supers)
 1364     for (const auto &RC : RegisterClasses) {
 1399     for (const auto &RC : RegisterClasses) {
 1427   for (const auto &RC : RegisterClasses)
 1472     for (const auto &RC : RegisterClasses) {
 1475         if (CodeGenRegisterClass *SRC = RC.getSubClassWithSubReg(&Idx))
 1625   for (const CodeGenRegisterClass &RC : RegBank.getRegClasses()) {
 1644     for (const CodeGenRegisterClass &SRC : RegBank.getRegClasses()) {
 1651     for (const CodeGenRegisterClass *SRC : RC.getSuperClasses()) {