Reverting r118604. Windows build broke.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118613 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick
2010-11-09 19:47:51 +00:00
parent 467a0adfc8
commit 32d9aeb1df
4 changed files with 14 additions and 165 deletions

View File

@ -15,7 +15,6 @@
#define DEBUG_TYPE "regalloc"
#include "LiveIntervalUnion.h"
#include "llvm/ADT/SparseBitVector.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
@ -74,9 +73,12 @@ void LiveIntervalUnion::unify(LiveInterval &lvr) {
#ifndef NDEBUG
// check for overlap (inductively)
if (segPos != segments_.begin()) {
assert(prior(segPos)->end <= segment.start && "overlapping segments" );
SegmentIter prevPos = segPos;
--prevPos;
assert(prevPos->end <= segment.start && "overlapping segments" );
}
SegmentIter nextPos = next(segPos);
SegmentIter nextPos = segPos;
++nextPos;
if (nextPos != segments_.end())
assert(segment.end <= nextPos->start && "overlapping segments" );
#endif // NDEBUG
@ -96,49 +98,6 @@ void LiveIntervalUnion::extract(const LiveInterval &lvr) {
}
}
raw_ostream& llvm::operator<<(raw_ostream& os, const LiveSegment &ls) {
return os << '[' << ls.start << ',' << ls.end << ':' <<
ls.liveVirtReg->reg << ")";
}
void LiveSegment::dump() const {
dbgs() << *this << "\n";
}
void
LiveIntervalUnion::print(raw_ostream &os,
const AbstractRegisterDescription *rdesc) const {
os << "LIU ";
if (rdesc != NULL)
os << rdesc->getName(repReg_);
else {
os << repReg_;
}
for (SegmentIter segI = segments_.begin(), segEnd = segments_.end();
segI != segEnd; ++segI) {
dbgs() << " " << *segI;
}
os << "\n";
}
void LiveIntervalUnion::dump(const AbstractRegisterDescription *rdesc) const {
print(dbgs(), rdesc);
}
#ifndef NDEBUG
// Verify the live intervals in this union and add them to the visited set.
void LiveIntervalUnion::verify(LvrBitSet& visitedVRegs) {
SegmentIter segI = segments_.begin();
SegmentIter segEnd = segments_.end();
if (segI == segEnd) return;
visitedVRegs.set(segI->liveVirtReg->reg);
for (++segI; segI != segEnd; ++segI) {
visitedVRegs.set(segI->liveVirtReg->reg);
assert(prior(segI)->end <= segI->start && "overlapping segments" );
}
}
#endif //!NDEBUG
// Private interface accessed by Query.
//
// Find a pair of segments that intersect, one in the live virtual register