|
reference, declaration → definition
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()) {