Index: src/IceOperand.h |
diff --git a/src/IceOperand.h b/src/IceOperand.h |
index 25f80b3e893ae19f9079ffda3ba0c0e4b4fa0ae3..69c9b1c7a3306037e4b606bb346c0d2369d2f584 100644 |
--- a/src/IceOperand.h |
+++ b/src/IceOperand.h |
@@ -298,7 +298,7 @@ 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(); |
@@ -335,6 +335,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); |