mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +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:
@ -660,9 +660,8 @@ void LiveInterval::print(raw_ostream &OS) const {
|
||||
OS << PrintReg(reg) << ' ';
|
||||
super::print(OS);
|
||||
// Print subranges
|
||||
for (const_subrange_iterator I = subrange_begin(), E = subrange_end();
|
||||
I != E; ++I) {
|
||||
OS << format(" L%04X ", I->LaneMask) << *I;
|
||||
for (const SubRange &SR : subranges()) {
|
||||
OS << format(" L%04X ", SR.LaneMask) << SR;
|
||||
}
|
||||
}
|
||||
|
||||
@ -699,18 +698,17 @@ void LiveInterval::verify(const MachineRegisterInfo *MRI) const {
|
||||
// Make sure SubRanges are fine and LaneMasks are disjunct.
|
||||
unsigned Mask = 0;
|
||||
unsigned MaxMask = MRI != nullptr ? MRI->getMaxLaneMaskForVReg(reg) : ~0u;
|
||||
for (const_subrange_iterator I = subrange_begin(), E = subrange_end(); I != E;
|
||||
++I) {
|
||||
for (const SubRange &SR : subranges()) {
|
||||
// Subrange lanemask should be disjunct to any previous subrange masks.
|
||||
assert((Mask & I->LaneMask) == 0);
|
||||
Mask |= I->LaneMask;
|
||||
assert((Mask & SR.LaneMask) == 0);
|
||||
Mask |= SR.LaneMask;
|
||||
|
||||
// subrange mask should not contained in maximum lane mask for the vreg.
|
||||
assert((Mask & ~MaxMask) == 0);
|
||||
|
||||
I->verify();
|
||||
SR.verify();
|
||||
// Main liverange should cover subrange.
|
||||
assert(covers(*I));
|
||||
assert(covers(SR));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user