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