mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-29 10:25:12 +00:00
Add new advanceTo method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17932 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -81,6 +81,19 @@ namespace llvm {
|
|||||||
iterator begin() { return ranges.begin(); }
|
iterator begin() { return ranges.begin(); }
|
||||||
iterator end() { return ranges.end(); }
|
iterator end() { return ranges.end(); }
|
||||||
|
|
||||||
|
|
||||||
|
/// advanceTo - Advance the specified iterator to point to the LiveRange
|
||||||
|
/// containing the specified position, or end() if the position is past the
|
||||||
|
/// end of the interval. If no LiveRange contains this position, but the
|
||||||
|
/// position is in a hole, this method returns an iterator pointing the the
|
||||||
|
/// LiveRange immediately after the hold.
|
||||||
|
iterator advanceTo(iterator I, unsigned Pos) {
|
||||||
|
if (Pos >= endNumber())
|
||||||
|
return end();
|
||||||
|
while (I->end <= Pos) ++I;
|
||||||
|
return I;
|
||||||
|
}
|
||||||
|
|
||||||
void swap(LiveInterval& other) {
|
void swap(LiveInterval& other) {
|
||||||
std::swap(reg, other.reg);
|
std::swap(reg, other.reg);
|
||||||
std::swap(weight, other.weight);
|
std::swap(weight, other.weight);
|
||||||
|
@@ -81,6 +81,19 @@ namespace llvm {
|
|||||||
iterator begin() { return ranges.begin(); }
|
iterator begin() { return ranges.begin(); }
|
||||||
iterator end() { return ranges.end(); }
|
iterator end() { return ranges.end(); }
|
||||||
|
|
||||||
|
|
||||||
|
/// advanceTo - Advance the specified iterator to point to the LiveRange
|
||||||
|
/// containing the specified position, or end() if the position is past the
|
||||||
|
/// end of the interval. If no LiveRange contains this position, but the
|
||||||
|
/// position is in a hole, this method returns an iterator pointing the the
|
||||||
|
/// LiveRange immediately after the hold.
|
||||||
|
iterator advanceTo(iterator I, unsigned Pos) {
|
||||||
|
if (Pos >= endNumber())
|
||||||
|
return end();
|
||||||
|
while (I->end <= Pos) ++I;
|
||||||
|
return I;
|
||||||
|
}
|
||||||
|
|
||||||
void swap(LiveInterval& other) {
|
void swap(LiveInterval& other) {
|
||||||
std::swap(reg, other.reg);
|
std::swap(reg, other.reg);
|
||||||
std::swap(weight, other.weight);
|
std::swap(weight, other.weight);
|
||||||
|
Reference in New Issue
Block a user