Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:LI

106       LiveInterval *LI = VirtRegIntervals[Reg];
107 assert(LI && "Interval does not exist for virtual register");
108 return *LI;
146 bool shrinkToUses(LiveInterval *li,
149 /// extendToIndices - Extend the live range of LI to reach all points in
151 /// existing defs in LI. PHI-defs are added as needed to maintain SSA form.
153 /// If a SlotIndex in Indices is the end index of a basic block, LI will be
157 void extendToIndices(LiveInterval *LI, ArrayRef<SlotIndex> Indices);
159 /// pruneValue - If an LI value is live at Kill, prune its live range by
161 /// EndPoints such that extendToIndices(LI, EndPoints) will reconstruct the
166 void pruneValue(LiveInterval *LI, SlotIndex Kill,
203 bool isLiveInToMBB(const LiveInterval &li,
205 return li.liveAt(getMBBStartIdx(mbb));
208 bool isLiveOutOfMBB(const LiveInterval &li,
210 return li.liveAt(getMBBEndIdx(mbb).getPrevSlot());
252 /// intervalIsInOneMBB - If LI is confined to a single basic block, return
253 /// a pointer to that block. If LI is live in to or out of any block,
255 MachineBasicBlock *intervalIsInOneMBB(const LiveInterval &LI) const;
257 /// Returns true if VNI is killed by any PHI-def values in LI.
259 bool hasPHIKill(const LiveInterval &LI, const VNInfo *VNI) const;
333 /// checkRegMaskInterference - Test if LI is live across any register mask
337 /// Returns false if LI doesn't cross any register mask instructions. In
339 bool checkRegMaskInterference(LiveInterval &LI,
356 LiveInterval *LI = RegUnitIntervals[Unit];
357 if (!LI) {
359 RegUnitIntervals[Unit] = LI = new LiveInterval(Unit, HUGE_VALF);
360 computeRegUnitInterval(LI);
362 return *LI;