|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/CodeGen/LiveInterval.h 688 SubRange *Next = nullptr;
704 SubRange *SubRanges = nullptr; ///< Single linked list of subregister live
719 T *P;
722 SingleLinkedListIterator<T>(T *P) : P(P) {}
724 SingleLinkedListIterator<T> &operator++() {
728 SingleLinkedListIterator<T> operator++(int) {
733 bool operator!=(const SingleLinkedListIterator<T> &Other) {
736 bool operator==(const SingleLinkedListIterator<T> &Other) {
739 T &operator*() const {
742 T *operator->() const {
747 using subrange_iterator = SingleLinkedListIterator<SubRange>;
748 using const_subrange_iterator = SingleLinkedListIterator<const SubRange>;
774 SubRange *createSubRange(BumpPtrAllocator &Allocator,
776 SubRange *Range = new (Allocator) SubRange(LaneMask);
776 SubRange *Range = new (Allocator) SubRange(LaneMask);
783 SubRange *createSubRangeFrom(BumpPtrAllocator &Allocator,
786 SubRange *Range = new (Allocator) SubRange(LaneMask, CopyFrom, Allocator);
786 SubRange *Range = new (Allocator) SubRange(LaneMask, CopyFrom, Allocator);
840 std::function<void(LiveInterval::SubRange &)> Apply,
864 void appendSubRange(SubRange *Range) {
870 void freeSubRange(SubRange *S);
874 const LiveInterval::SubRange &SR) {
include/llvm/CodeGen/LiveIntervals.h 170 void shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg);
lib/CodeGen/LiveInterval.cpp 848 void LiveInterval::freeSubRange(SubRange *S) {
854 SubRange **NextPtr = &SubRanges;
855 SubRange *I = *NextPtr;
864 SubRange *Next = I->Next;
873 for (SubRange *I = SubRanges, *Next; I != nullptr; I = Next) {
883 static void stripValuesNotDefiningMask(unsigned Reg, LiveInterval::SubRange &SR,
926 std::function<void(LiveInterval::SubRange &)> Apply,
929 for (SubRange &SR : subranges()) {
935 SubRange *MatchingRange;
955 SubRange *NewRange = createSubRange(Allocator, ToApply);
1040 for (const SubRange &SR : subranges())
1083 for (const SubRange &SR : subranges()) {
1383 SmallVector<LiveInterval::SubRange*, 8> SubRanges;
1385 for (LiveInterval::SubRange &SR : LI.subranges()) {
lib/CodeGen/LiveIntervals.cpp 372 for (const LiveInterval::SubRange &SR : I.subranges()) {
449 for (LiveInterval::SubRange &S : li->subranges()) {
542 void LiveIntervals::shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg) {
687 SmallVector<std::pair<const LiveInterval::SubRange*,
711 for (const LiveInterval::SubRange &SR : LI.subranges()) {
764 const LiveInterval::SubRange &SR = *SRP.first;
998 for (LiveInterval::SubRange &S : LI.subranges()) {
1619 for (LiveInterval::SubRange &S : LI.subranges())
1644 for (LiveInterval::SubRange &S : LI.subranges()) {
lib/CodeGen/LiveRangeCalc.cpp 118 for (LiveInterval::SubRange &S : LI.subranges()) {
137 for (const LiveInterval::SubRange &SR : LI.subranges()) {
lib/CodeGen/LiveRangeEdit.cpp 48 for (LiveInterval::SubRange &S : OldLI.subranges())
252 for (const LiveInterval::SubRange &S : LI.subranges()) {
lib/CodeGen/LiveRangeUtils.h 26 static void DistributeRange(LiveRangeT &LR, LiveRangeT *SplitLRs[],
26 static void DistributeRange(LiveRangeT &LR, LiveRangeT *SplitLRs[],
29 typename LiveRangeT::iterator J = LR.begin(), E = LR.end();
32 for (typename LiveRangeT::iterator I = J; I != E; ++I) {
lib/CodeGen/LiveRegMatrix.cpp 86 for (LiveInterval::SubRange &S : VRegInterval.subranges()) {
lib/CodeGen/MachineVerifier.cpp 1980 for (const LiveInterval::SubRange &SR : LI.subranges()) {
2082 for (const LiveInterval::SubRange &SR : LI.subranges()) {
2687 for (const LiveInterval::SubRange &SR : LI.subranges()) {
lib/CodeGen/RegisterCoalescer.cpp 641 for (LiveInterval::SubRange &S : IntB.subranges()) {
671 for (LiveInterval::SubRange &S : IntA.subranges()) {
901 for (LiveInterval::SubRange &S : IntB.subranges()) {
928 for (LiveInterval::SubRange &SA : IntA.subranges()) {
957 for (LiveInterval::SubRange &SB : IntB.subranges()) {
1129 for (LiveInterval::SubRange &SR : IntB.subranges())
1158 for (LiveInterval::SubRange &SR : IntB.subranges()) {
1356 for (LiveInterval::SubRange &SR : DstInt.subranges()) {
1389 for (LiveInterval::SubRange &SR : DstInt.subranges()) {
1395 LiveInterval::SubRange *SR = DstInt.createSubRange(Alloc, MaxMask);
1413 for (LiveInterval::SubRange &SR : DstInt.subranges()) {
1535 for (const LiveInterval::SubRange &SR : SrcLI.subranges()) {
1574 for (LiveInterval::SubRange &SR : DstLI.subranges()) {
1596 for (const LiveInterval::SubRange &SR : DstLI.subranges()) {
1631 for (const LiveInterval::SubRange &S : Int.subranges()) {
1813 for (LiveInterval::SubRange &S : LI.subranges()) {
1935 for (LiveInterval::SubRange &S : LI.subranges()) {
2428 for (const LiveInterval::SubRange &S : LI.subranges()) {
3038 for (LiveInterval::SubRange &S : LI.subranges()) {
3079 for (LiveInterval::SubRange &SR : LI.subranges()) {
3158 for (LiveInterval::SubRange &SR : LI->subranges()) {
3341 for (LiveInterval::SubRange &R : LHS.subranges()) {
3357 for (LiveInterval::SubRange &R : RHS.subranges()) {
3735 for (LiveInterval::SubRange &S : LI.subranges()) {
lib/CodeGen/RegisterPressure.cpp 429 for (const LiveInterval::SubRange &SR : LI.subranges()) {
lib/CodeGen/RenameIndependentSubregs.cpp 68 LiveInterval::SubRange *SR;
71 SubRangeInfo(LiveIntervals &LIS, LiveInterval::SubRange &SR,
160 for (LiveInterval::SubRange &SR : LI.subranges()) {
185 const LiveInterval::SubRange &SR = *SRInfo.SR;
230 const LiveInterval::SubRange &SR = *SRInfo.SR;
269 SmallVector<LiveInterval::SubRange*, 8> SubRanges;
272 LiveInterval::SubRange &SR = *SRInfo.SR;
291 for (const LiveInterval::SubRange &SR : LI.subranges()) {
313 for (const LiveInterval::SubRange &SR : LI.subranges()) {
336 for (LiveInterval::SubRange &SR : LI.subranges()) {
lib/CodeGen/SplitKit.cpp 407 LiveInterval::SubRange &SplitEditor::getSubRangeForMask(LaneBitmask LM,
409 for (LiveInterval::SubRange &S : LI.subranges())
426 for (LiveInterval::SubRange &S : LI.subranges()) {
427 auto &PS = getSubRangeForMask(S.LaneMask, Edit->getParent());
450 for (LiveInterval::SubRange &S : LI.subranges())
659 for (LiveInterval::SubRange &S : LI->subranges())
1282 for (LiveInterval::SubRange &PS : ParentLI.subranges()) {
1288 LiveInterval::SubRange &S = getSubRangeForMask(PS.LaneMask, LI);
1379 for (LiveInterval::SubRange &S : LI.subranges()) {
lib/CodeGen/SplitKit.h 351 LiveInterval::SubRange &getSubRangeForMask(LaneBitmask LM, LiveInterval &LI);
lib/CodeGen/VirtRegMap.cpp 272 std::pair<const LiveInterval::SubRange *, LiveInterval::const_iterator>;
277 for (const LiveInterval::SubRange &SR : LI.subranges()) {
294 const LiveInterval::SubRange *SR = RangeIterPair.first;
367 for (const LiveInterval::SubRange &SR : LI.subranges()) {
lib/Target/AMDGPU/GCNRegPressure.cpp 49 for (const auto &S : LI.subranges()) {
263 for (const auto &S : LI.subranges())
381 for (const auto &S : LI.subranges()) {
lib/Target/AMDGPU/GCNRegPressure.h 229 for (const auto &S : LI.subranges()) {
lib/Target/AMDGPU/SIRegisterInfo.cpp 1880 for (auto &S : LI.subranges()) {
lib/Target/Hexagon/HexagonExpandCondsets.cpp 353 for (LiveInterval::SubRange &S : LI.subranges()) {
529 for (LiveInterval::SubRange &S : LI.subranges()) {
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/bits/std_function.h 314 _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
628 using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
usr/include/c++/7.4.0/type_traits 1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };