Fix bug in LiveIntervals::Interval::overlaps and

LiveIntervals::Interval::liveAt. Both were considering the live ranges
closed in the end, when they are actually open.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10835 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alkis Evlogimenos 2004-01-14 00:20:09 +00:00
parent 5ab20273a4
commit 9739736b94

View File

@ -366,7 +366,7 @@ void LiveIntervals::Interval::mergeRangesBackward(Ranges::iterator it)
bool LiveIntervals::Interval::liveAt(unsigned index) const
{
Ranges::const_iterator r = ranges.begin();
while (r != ranges.end() && index < r->second) {
while (r != ranges.end() && index < (r->second - 1)) {
if (index >= r->first)
return true;
++r;
@ -381,7 +381,7 @@ bool LiveIntervals::Interval::overlaps(const Interval& other) const
while (i != ranges.end() && j != other.ranges.end()) {
if (i->first < j->first) {
if (i->second > j->first) {
if ((i->second - 1) > j->first) {
return true;
}
else {
@ -389,7 +389,7 @@ bool LiveIntervals::Interval::overlaps(const Interval& other) const
}
}
else if (j->first < i->first) {
if (j->second > i->first) {
if ((j->second - 1) > i->first) {
return true;
}
else {