HomeSort by relevance Sort by last modified time
    Searched refs:SubRange (Results 1 - 25 of 31) sorted by null

1 2

  /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...]

Completed in 985 milliseconds

1 2