Remove the InterferenceResult class.

llvm-svn: 137381
This commit is contained in:
Jakob Stoklund Olesen 2011-08-11 22:46:06 +00:00
parent cd14efaec2
commit da0192d72b
1 changed files with 0 additions and 32 deletions

View File

@ -59,7 +59,6 @@ public:
// LiveIntervalUnions share an external allocator. // LiveIntervalUnions share an external allocator.
typedef LiveSegments::Allocator Allocator; typedef LiveSegments::Allocator Allocator;
class InterferenceResult;
class Query; class Query;
private: private:
@ -106,37 +105,6 @@ public:
void verify(LiveVirtRegBitSet& VisitedVRegs); void verify(LiveVirtRegBitSet& VisitedVRegs);
#endif #endif
/// Cache a single interference test result in the form of two intersecting
/// segments. This allows efficiently iterating over the interferences. The
/// iteration logic is handled by LiveIntervalUnion::Query which may
/// filter interferences depending on the type of query.
class InterferenceResult {
friend class Query;
LiveInterval::iterator VirtRegI; // current position in VirtReg
SegmentIter LiveUnionI; // current position in LiveUnion
// Internal ctor.
InterferenceResult(LiveInterval::iterator VRegI, SegmentIter UnionI)
: VirtRegI(VRegI), LiveUnionI(UnionI) {}
public:
// Public default ctor.
InterferenceResult(): VirtRegI(), LiveUnionI() {}
/// interference - Return the register that is interfering here.
LiveInterval *interference() const { return LiveUnionI.value(); }
// Note: this interface provides raw access to the iterators because the
// result has no way to tell if it's valid to dereference them.
// Access the VirtReg segment.
LiveInterval::iterator virtRegPos() const { return VirtRegI; }
// Access the LiveUnion segment.
const SegmentIter &liveUnionPos() const { return LiveUnionI; }
};
/// Query interferences between a single live virtual register and a live /// Query interferences between a single live virtual register and a live
/// interval union. /// interval union.
class Query { class Query {