/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/ |
LiveInterval.h | 645 class SubRange : public LiveRange { 647 SubRange *Next = nullptr; 650 /// Constructs a new SubRange object. 651 SubRange(LaneBitmask LaneMask) : LaneMask(LaneMask) {} 653 /// Constructs a new SubRange object by copying liveness from @p Other. 654 SubRange(LaneBitmask LaneMask, const LiveRange &Other, 663 SubRange *SubRanges = nullptr; ///< Single linked list of subregister live 706 using subrange_iterator = SingleLinkedListIterator<SubRange>; 707 using const_subrange_iterator = SingleLinkedListIterator<const SubRange>; 732 /// beginning of the subrange list; subrange iterators stay valid [all...] |
LiveIntervals.h | 168 /// This may leave the subrange empty which needs to be cleaned up with 170 void shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg); 208 "Use pruneValue on the main LiveRange and on each subrange");
|
/external/llvm/include/llvm/CodeGen/ |
LiveInterval.h | 601 class SubRange : public LiveRange { 603 SubRange *Next; 606 /// Constructs a new SubRange object. 607 SubRange(LaneBitmask LaneMask) 611 /// Constructs a new SubRange object by copying liveness from @p Other. 612 SubRange(LaneBitmask LaneMask, const LiveRange &Other, 622 SubRange *SubRanges; ///< Single linked list of subregister live ranges. 663 typedef SingleLinkedListIterator<SubRange> subrange_iterator; 671 typedef SingleLinkedListIterator<const SubRange> const_subrange_iterator; 688 /// beginning of the subrange list; subrange iterators stay valid [all...] |
LiveIntervalAnalysis.h | 162 /// This may leave the subrange empty which needs to be cleaned up with 164 void shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg);
|
/external/llvm/lib/CodeGen/ |
RenameIndependentSubregs.cpp | 69 LiveInterval::SubRange *SR; 72 SubRangeInfo(LiveIntervals &LIS, LiveInterval::SubRange &SR, 80 /// \brief Build a vector of SubRange infos and a union find set of 161 for (LiveInterval::SubRange &SR : LI.subranges()) { 168 // Shortcut: With only 1 subrange, the normal separate component tests are 186 const LiveInterval::SubRange &SR = *SRInfo.SR; 230 const LiveInterval::SubRange &SR = *SRInfo.SR; 258 SmallVector<LiveInterval::SubRange*, 8> SubRanges; 261 LiveInterval::SubRange &SR = *SRInfo.SR; 280 for (const LiveInterval::SubRange &SR : LI.subranges()) [all...] |
LiveRangeCalc.cpp | 77 for (LiveInterval::SubRange &S : LI.subranges()) { 78 // A Mask for subregs common to the existing subrange and current def. 82 // A Mask for subregs covered by the subrange but not the current def. 84 LiveInterval::SubRange *CommonRange; 86 // Split current subrange into Common and LRest ranges. 97 // Create a new SubRange for subregs we did not cover yet. 99 LiveInterval::SubRange *NewRange = LI.createSubRange(*Alloc, Mask); 118 for (LiveInterval::SubRange &S : LI.subranges()) { 136 for (const LiveInterval::SubRange &SR : LI.subranges()) { 178 // Ignore uses not covering the current subrange [all...] |
LiveInterval.cpp | 788 void LiveInterval::freeSubRange(SubRange *S) { 789 S->~SubRange(); 794 SubRange **NextPtr = &SubRanges; 795 SubRange *I = *NextPtr; 804 SubRange *Next = I->Next; 813 for (SubRange *I = SubRanges, *Next; I != nullptr; I = Next) { 867 void LiveInterval::SubRange::print(raw_ostream &OS) const { 876 for (const SubRange &SR : subranges()) 885 LLVM_DUMP_METHOD void LiveInterval::SubRange::dump() const { 917 for (const SubRange &SR : subranges()) [all...] |
VirtRegMap.cpp | 249 typedef std::pair<const LiveInterval::SubRange *, 254 for (const LiveInterval::SubRange &SR : LI.subranges()) { 263 // simulatenously advancing an iterator for each subrange. 267 // Advance all subrange iterators so that their end position is just 271 const LiveInterval::SubRange *SR = RangeIterPair.first; 343 for (const LiveInterval::SubRange &SR : LI.subranges()) {
|
RegisterCoalescer.cpp | 164 /// @p ToMerge will occupy in the coalescer register. @p LI has its subrange 557 for (LiveInterval::SubRange &S : IntB.subranges()) { 787 for (LiveInterval::SubRange &S : IntB.subranges()) { 810 for (LiveInterval::SubRange &SA : IntA.subranges()) { 815 for (LiveInterval::SubRange &SB : IntB.subranges()) { 824 LiveInterval::SubRange *CommonRange; 829 // Duplicate SubRange for newly merged common stuff. 832 // We van reuse the L SubRange. [all...] |
LiveIntervalAnalysis.cpp | 413 for (LiveInterval::SubRange &S : li->subranges()) { 507 void LiveIntervals::shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg) 652 SmallVector<std::pair<const LiveInterval::SubRange*, 676 for (const LiveInterval::SubRange &SR : LI.subranges()) { 729 const LiveInterval::SubRange &SR = *SRP.first; [all...] |
LiveRegMatrix.cpp | 80 for (LiveInterval::SubRange &S : VRegInterval.subranges()) {
|
LiveRangeEdit.cpp | 229 for (const LiveInterval::SubRange &S : LI.subranges()) {
|
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/ |
RenameIndependentSubregs.cpp | 69 LiveInterval::SubRange *SR; 72 SubRangeInfo(LiveIntervals &LIS, LiveInterval::SubRange &SR, 80 /// Build a vector of SubRange infos and a union find set of 161 for (LiveInterval::SubRange &SR : LI.subranges()) { 168 // Shortcut: With only 1 subrange, the normal separate component tests are 186 const LiveInterval::SubRange &SR = *SRInfo.SR; 231 const LiveInterval::SubRange &SR = *SRInfo.SR; 270 SmallVector<LiveInterval::SubRange*, 8> SubRanges; 273 LiveInterval::SubRange &SR = *SRInfo.SR; 292 for (const LiveInterval::SubRange &SR : LI.subranges()) [all...] |
LiveInterval.cpp | 851 void LiveInterval::freeSubRange(SubRange *S) { 852 S->~SubRange(); 857 SubRange **NextPtr = &SubRanges; 858 SubRange *I = *NextPtr; 867 SubRange *Next = I->Next; 876 for (SubRange *I = SubRanges, *Next; I != nullptr; I = Next) { 884 LaneBitmask LaneMask, std::function<void(LiveInterval::SubRange&)> Apply) { 886 for (SubRange &SR : subranges()) { 892 SubRange *MatchingRange; 894 // The subrange fits (it does not cover bits outside \p LaneMask) [all...] |
RegisterCoalescer.cpp | 181 /// @p ToMerge will occupy in the coalescer register. @p LI has its subrange 591 for (LiveInterval::SubRange &S : IntB.subranges()) { 592 // Check for SubRange Segments of the form [1234r,1234d:0) which can be 593 // removed to prevent creating bogus SubRange Segments. 618 // subrange before the merge trim the live range. 621 for (LiveInterval::SubRange &S : IntA.subranges()) { 837 for (LiveInterval::SubRange &S : IntB.subranges()) { [all...] |
VirtRegMap.cpp | 274 std::pair<const LiveInterval::SubRange *, LiveInterval::const_iterator>; 279 for (const LiveInterval::SubRange &SR : LI.subranges()) { 288 // simulatenously advancing an iterator for each subrange. 292 // Advance all subrange iterators so that their end position is just 296 const LiveInterval::SubRange *SR = RangeIterPair.first; 369 for (const LiveInterval::SubRange &SR : LI.subranges()) {
|
LiveIntervals.cpp | 373 for (const LiveInterval::SubRange &SR : I.subranges()) { 379 llvm_unreachable("Subrange for mask not found"); 435 "Missing value out of predecessor for subrange"); 450 for (LiveInterval::SubRange &S : li->subranges()) { 543 void LiveIntervals::shrinkToUses(LiveInterval::SubRange &SR, unsigned Reg) { 688 SmallVector<std::pair<const LiveInterval::SubRange*, 712 for (const LiveInterval::SubRange &SR : LI.subranges()) { 765 const LiveInterval::SubRange &SR = *SRP.first; [all...] |
LiveRangeCalc.cpp | 99 [&MO, this](LiveInterval::SubRange &SR) { 118 for (LiveInterval::SubRange &S : LI.subranges()) { 137 for (const LiveInterval::SubRange &SR : LI.subranges()) {
|
LiveRangeEdit.cpp | 49 for (LiveInterval::SubRange &S : OldLI.subranges()) 251 for (const LiveInterval::SubRange &S : LI.subranges()) {
|
LiveRegMatrix.cpp | 87 for (LiveInterval::SubRange &S : VRegInterval.subranges()) {
|
SplitKit.h | 331 /// Find a subrange corresponding to the lane mask @p LM in the live 332 /// interval @p LI. The interval @p LI is assumed to contain such a subrange. 335 LiveInterval::SubRange &getSubRangeForMask(LaneBitmask LM, LiveInterval &LI); 340 /// only be added a subrange of LI if the corresponding subrange of the 398 /// all predecessor values that reach this def. If @p LR is a subrange,
|
SplitKit.cpp | 408 LiveInterval::SubRange &SplitEditor::getSubRangeForMask(LaneBitmask LM, 410 for (LiveInterval::SubRange &S : LI.subranges()) 413 llvm_unreachable("SubRange for this mask not found"); 427 for (LiveInterval::SubRange &S : LI.subranges()) { 451 for (LiveInterval::SubRange &S : LI.subranges()) 532 [Def, &Allocator](LiveInterval::SubRange& SR) { 659 for (LiveInterval::SubRange &S : LI->subranges()) [all...] |
/external/clang/lib/ARCMigrate/ |
TransUnbridgedCasts.cpp | 288 SourceRange SubRange = E->getSubExpr()->IgnoreParenImpCasts()->getSourceRange(); 289 SourceLocation InnerBegin = SM.getImmediateMacroCallerLoc(SubRange.getBegin()); 290 SourceLocation InnerEnd = SM.getImmediateMacroCallerLoc(SubRange.getEnd());
|
/external/llvm/lib/Target/Hexagon/ |
HexagonExpandCondsets.cpp | 96 // the subrange for subreg_loreg will not have any indication that it is 98 // on the information from the subrange may create a segment which spans 377 auto EndsAtI = [I] (LiveInterval::SubRange &S) -> bool { 383 for (LiveInterval::SubRange &S : LI.subranges()) { 530 for (LiveInterval::SubRange &S : LI.subranges()) { [all...] |
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/Hexagon/ |
HexagonExpandCondsets.cpp | 348 auto EndsAtI = [I] (LiveInterval::SubRange &S) -> bool { 354 for (LiveInterval::SubRange &S : LI.subranges()) { 530 for (LiveInterval::SubRange &S : LI.subranges()) { [all...] |