Lines Matching refs:Reg
108 LiveInterval &getInterval(unsigned Reg) {
109 if (hasInterval(Reg))
110 return *VirtRegIntervals[Reg];
112 return createAndComputeVirtRegInterval(Reg);
115 const LiveInterval &getInterval(unsigned Reg) const {
116 return const_cast<LiveIntervals*>(this)->getInterval(Reg);
119 bool hasInterval(unsigned Reg) const {
120 return VirtRegIntervals.inBounds(Reg) && VirtRegIntervals[Reg];
124 LiveInterval &createEmptyInterval(unsigned Reg) {
125 assert(!hasInterval(Reg) && "Interval already exists!");
126 VirtRegIntervals.grow(Reg);
127 VirtRegIntervals[Reg] = createInterval(Reg);
128 return *VirtRegIntervals[Reg];
131 LiveInterval &createAndComputeVirtRegInterval(unsigned Reg) {
132 LiveInterval &LI = createEmptyInterval(Reg);
138 void removeInterval(unsigned Reg) {
139 delete VirtRegIntervals[Reg];
140 VirtRegIntervals[Reg] = nullptr;
408 static LiveInterval* createInterval(unsigned Reg);