From: Philip Reames Date: Mon, 16 May 2022 14:48:57 +0000 (-0700) Subject: [LiveIntervals] Add range accessors for value numbers [nfc] X-Git-Tag: upstream/15.0.7~7612 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=55e2df7285c0c60da44a2dccbbb1da7d1c0da2ce;p=platform%2Fupstream%2Fllvm.git [LiveIntervals] Add range accessors for value numbers [nfc] --- diff --git a/llvm/include/llvm/CodeGen/LiveInterval.h b/llvm/include/llvm/CodeGen/LiveInterval.h index 5a3c488..92e35c9 100644 --- a/llvm/include/llvm/CodeGen/LiveInterval.h +++ b/llvm/include/llvm/CodeGen/LiveInterval.h @@ -227,6 +227,14 @@ namespace llvm { const_vni_iterator vni_begin() const { return valnos.begin(); } const_vni_iterator vni_end() const { return valnos.end(); } + iterator_range vnis() { + return make_range(vni_begin(), vni_end()); + } + + iterator_range vnis() const { + return make_range(vni_begin(), vni_end()); + } + /// Constructs a new LiveRange object. LiveRange(bool UseSegmentSet = false) : segmentSet(UseSegmentSet ? std::make_unique() diff --git a/llvm/lib/CodeGen/InlineSpiller.cpp b/llvm/lib/CodeGen/InlineSpiller.cpp index 43b30fd..4cf7c20 100644 --- a/llvm/lib/CodeGen/InlineSpiller.cpp +++ b/llvm/lib/CodeGen/InlineSpiller.cpp @@ -685,7 +685,7 @@ void InlineSpiller::reMaterializeAll() { // Remove any values that were completely rematted. for (Register Reg : RegsToSpill) { LiveInterval &LI = LIS.getInterval(Reg); - for (VNInfo *VNI : llvm::make_range(LI.vni_begin(), LI.vni_end())) { + for (VNInfo *VNI : LI.vnis()) { if (VNI->isUnused() || VNI->isPHIDef() || UsedValues.count(VNI)) continue; MachineInstr *MI = LIS.getInstructionFromIndex(VNI->def); diff --git a/llvm/lib/CodeGen/LiveIntervals.cpp b/llvm/lib/CodeGen/LiveIntervals.cpp index b8fca8a..7d825a8 100644 --- a/llvm/lib/CodeGen/LiveIntervals.cpp +++ b/llvm/lib/CodeGen/LiveIntervals.cpp @@ -498,7 +498,7 @@ bool LiveIntervals::shrinkToUses(LiveInterval *li, // Create new live ranges with only minimal live segments per def. LiveRange NewLR; - createSegmentsForValues(NewLR, make_range(li->vni_begin(), li->vni_end())); + createSegmentsForValues(NewLR, li->vnis()); extendSegmentsToUses(NewLR, WorkList, Reg, LaneBitmask::getNone()); // Move the trimmed segments back. @@ -602,7 +602,7 @@ void LiveIntervals::shrinkToUses(LiveInterval::SubRange &SR, Register Reg) { // Create a new live ranges with only minimal live segments per def. LiveRange NewLR; - createSegmentsForValues(NewLR, make_range(SR.vni_begin(), SR.vni_end())); + createSegmentsForValues(NewLR, SR.vnis()); extendSegmentsToUses(NewLR, WorkList, Reg, SR.LaneMask); // Move the trimmed ranges back.