mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
LiveInterval: Use range based for loops for subregister ranges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223991 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -395,9 +395,8 @@ bool LiveIntervals::shrinkToUses(LiveInterval *li,
|
||||
&& "Can only shrink virtual registers");
|
||||
|
||||
// Shrink subregister live ranges.
|
||||
for (LiveInterval::subrange_iterator I = li->subrange_begin(),
|
||||
E = li->subrange_end(); I != E; ++I) {
|
||||
shrinkToUses(*I, li->reg);
|
||||
for (LiveInterval::SubRange &S : li->subranges()) {
|
||||
shrinkToUses(S, li->reg);
|
||||
}
|
||||
|
||||
// Find all the values used, including PHI kills.
|
||||
@ -606,9 +605,8 @@ void LiveIntervals::pruneValue(LiveInterval &LI, SlotIndex Kill,
|
||||
SmallVectorImpl<SlotIndex> *EndPoints) {
|
||||
pruneValue((LiveRange&)LI, Kill, EndPoints);
|
||||
|
||||
for (LiveInterval::subrange_iterator SR = LI.subrange_begin(),
|
||||
SE = LI.subrange_end(); SR != SE; ++SR) {
|
||||
pruneValue(*SR, Kill, nullptr);
|
||||
for (LiveInterval::SubRange &SR : LI.subranges()) {
|
||||
pruneValue(SR, Kill, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
@ -882,11 +880,10 @@ public:
|
||||
if (LI.hasSubRanges()) {
|
||||
unsigned SubReg = MO->getSubReg();
|
||||
unsigned LaneMask = TRI.getSubRegIndexLaneMask(SubReg);
|
||||
for (LiveInterval::subrange_iterator S = LI.subrange_begin(),
|
||||
SE = LI.subrange_end(); S != SE; ++S) {
|
||||
if ((S->LaneMask & LaneMask) == 0)
|
||||
for (LiveInterval::SubRange &S : LI.subranges()) {
|
||||
if ((S.LaneMask & LaneMask) == 0)
|
||||
continue;
|
||||
updateRange(*S, Reg, S->LaneMask);
|
||||
updateRange(S, Reg, S.LaneMask);
|
||||
}
|
||||
}
|
||||
updateRange(LI, Reg, 0);
|
||||
@ -1322,9 +1319,8 @@ LiveIntervals::repairIntervalsInRange(MachineBasicBlock *MBB,
|
||||
if (!LI.hasAtLeastOneValue())
|
||||
continue;
|
||||
|
||||
for (LiveInterval::subrange_iterator S = LI.subrange_begin(),
|
||||
SE = LI.subrange_end(); S != SE; ++S) {
|
||||
repairOldRegInRange(Begin, End, endIdx, *S, Reg, S->LaneMask);
|
||||
for (LiveInterval::SubRange &S : LI.subranges()) {
|
||||
repairOldRegInRange(Begin, End, endIdx, S, Reg, S.LaneMask);
|
||||
}
|
||||
repairOldRegInRange(Begin, End, endIdx, LI, Reg);
|
||||
}
|
||||
|
Reference in New Issue
Block a user