summaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalUnion.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2010-11-09 19:47:51 +0000
committerAndrew Trick <atrick@apple.com>2010-11-09 19:47:51 +0000
commit32d9aeb1df982638766757704c4e23f58ffb40d1 (patch)
tree060676d76f041ff825d46cbd8979336a66bbff81 /lib/CodeGen/LiveIntervalUnion.cpp
parent467a0adfc8b6bd4b114e024c200c159497a4cd86 (diff)
downloadllvm-32d9aeb1df982638766757704c4e23f58ffb40d1.tar.gz
llvm-32d9aeb1df982638766757704c4e23f58ffb40d1.tar.bz2
llvm-32d9aeb1df982638766757704c4e23f58ffb40d1.tar.xz
Reverting r118604. Windows build broke.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118613 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalUnion.cpp')
-rw-r--r--lib/CodeGen/LiveIntervalUnion.cpp51
1 files changed, 5 insertions, 46 deletions
diff --git a/lib/CodeGen/LiveIntervalUnion.cpp b/lib/CodeGen/LiveIntervalUnion.cpp
index 9d4de6a7c2..ec502cd51e 100644
--- a/lib/CodeGen/LiveIntervalUnion.cpp
+++ b/lib/CodeGen/LiveIntervalUnion.cpp
@@ -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