mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
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:
@ -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
|
||||
|
Reference in New Issue
Block a user