- typedef Reg2IntervalMap::iterator iterator;
- typedef Reg2IntervalMap::const_iterator const_iterator;
- const_iterator begin() const { return R2IMap.begin(); }
- const_iterator end() const { return R2IMap.end(); }
- iterator begin() { return R2IMap.begin(); }
- iterator end() { return R2IMap.end(); }
- unsigned getNumIntervals() const { return (unsigned)R2IMap.size(); }
-
- LiveInterval &getInterval(unsigned reg) {
- Reg2IntervalMap::iterator I = R2IMap.find(reg);
- assert(I != R2IMap.end() && "Interval does not exist for register");
- return *I->second;
- }
-
- const LiveInterval &getInterval(unsigned reg) const {
- Reg2IntervalMap::const_iterator I = R2IMap.find(reg);
- assert(I != R2IMap.end() && "Interval does not exist for register");
- return *I->second;
+ LiveInterval &getInterval(unsigned Reg) {
+ LiveInterval *LI = VirtRegIntervals[Reg];
+ assert(LI && "Interval does not exist for virtual register");
+ return *LI;