| Index: src/IceOperand.h
|
| diff --git a/src/IceOperand.h b/src/IceOperand.h
|
| index 25f80b3e893ae19f9079ffda3ba0c0e4b4fa0ae3..798da0b5b10bfd47e9272864b8ee538581d61ce0 100644
|
| --- a/src/IceOperand.h
|
| +++ b/src/IceOperand.h
|
| @@ -298,11 +298,12 @@ bool operator==(const RegWeight &A, const RegWeight &B);
|
| // inside a loop.
|
| class LiveRange {
|
| public:
|
| - LiveRange() : Weight(0) {}
|
| + LiveRange() : Weight(0), IsNonpoints(false) {}
|
|
|
| void reset() {
|
| Range.clear();
|
| Weight.setWeight(0);
|
| + IsNonpoints = false;
|
| }
|
| void addSegment(InstNumberT Start, InstNumberT End);
|
|
|
| @@ -335,6 +336,11 @@ private:
|
| #endif
|
| RangeType Range;
|
| RegWeight Weight;
|
| + // IsNonpoints keeps track of whether the live range contains at
|
| + // least one interval where Start!=End. If it is empty or has the
|
| + // form [x,x),[y,y),...,[z,z), then overlaps(InstNumberT) is
|
| + // trivially false.
|
| + bool IsNonpoints;
|
| };
|
|
|
| Ostream &operator<<(Ostream &Str, const LiveRange &L);
|
|
|