diff options
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/LiveIntervalUnion.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/LiveIntervalUnion.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/CodeGen/LiveIntervalUnion.cpp b/lib/CodeGen/LiveIntervalUnion.cpp index d5c7bf08eb..59d48a4b64 100644 --- a/lib/CodeGen/LiveIntervalUnion.cpp +++ b/lib/CodeGen/LiveIntervalUnion.cpp @@ -168,6 +168,8 @@ LiveIntervalUnion::Query::firstInterference() { IR.VirtRegI = VirtReg->end(); } findIntersection(FirstInterference); + assert((IR.VirtRegI == VirtReg->end() || IR.LiveUnionI.valid()) + && "Uninitialized iterator"); return FirstInterference; } diff --git a/lib/CodeGen/LiveIntervalUnion.h b/lib/CodeGen/LiveIntervalUnion.h index 54761c715f..5bf86d8c02 100644 --- a/lib/CodeGen/LiveIntervalUnion.h +++ b/lib/CodeGen/LiveIntervalUnion.h @@ -145,8 +145,8 @@ public: Query(): LiveUnion(), VirtReg() {} Query(LiveInterval *VReg, LiveIntervalUnion *LIU): - LiveUnion(LIU), VirtReg(VReg), SeenAllInterferences(false), - SeenUnspillableVReg(false) + LiveUnion(LIU), VirtReg(VReg), CheckedFirstInterference(false), + SeenAllInterferences(false), SeenUnspillableVReg(false) {} void clear() { @@ -159,6 +159,7 @@ public: } void init(LiveInterval *VReg, LiveIntervalUnion *LIU) { + assert(VReg && LIU && "Invalid arguments"); if (VirtReg == VReg && LiveUnion == LIU) { // Retain cached results, e.g. firstInterference. return; |