Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:End

67     if (FirstTerm == MBB->end())
77 for (MachineBasicBlock::const_iterator I = MBB->end(), E = MBB->begin();
113 return MBB->end();
133 array_pod_sort(UseSlots.begin(), UseSlots.end());
137 UseSlots.erase(std::unique(UseSlots.begin(), UseSlots.end(),
139 UseSlots.end());
172 LiveInterval::const_iterator LVE = CurLI->end();
176 UseE = UseSlots.end();
192 // The range shouldn't end mid-block if there are no uses. This shouldn't
194 if (LVI->end < Stop)
217 while (LVI->end < Stop) {
218 SlotIndex LastStop = LVI->end;
249 // LVI is now at LVE or LVI->end >= Stop.
255 if (LVI->end == Stop && ++LVI == LVE)
274 LiveInterval::iterator LVE = li->end();
299 if (I != Orig.end() && I->start <= Idx)
302 // Range does not contain Idx, previous must end at Idx.
303 return I != Orig.begin() && (--I)->end == Idx;
503 SlotIndex End = LIS.getMBBEndIdx(&MBB);
504 SlotIndex Last = End.getPrevSlot();
509 return End;
514 RegAssign.insert(VNI->def, End, OpenIdx);
524 void SplitEditor::useIntv(SlotIndex Start, SlotIndex End) {
526 DEBUG(dbgs() << " useIntv [" << Start << ';' << End << "):");
527 RegAssign.insert(Start, End, OpenIdx);
599 void SplitEditor::overlapIntv(SlotIndex Start, SlotIndex End) {
602 assert(ParentVNI == Edit->getParent().getVNInfoBefore(End) &&
604 assert(LIS.getMBBFromIndex(Start) == LIS.getMBBFromIndex(End) &&
610 DEBUG(dbgs() << " overlapIntv [" << Start << ';' << End << "):");
611 RegAssign.insert(Start, End, OpenIdx);
786 // This value needs a hoisted copy inserted at the end of Dom.first.
827 SlotIndex End = S.end;
832 if (AssignI.stop() < End) {
833 End = AssignI.stop();
838 End = std::min(End, AssignI.start());
841 // The interval [Start;End) is continuously mapped to RegIdx, ParentVNI.
842 DEBUG(dbgs() << " [" << Start << ';' << End << ")=" << RegIdx);
849 LR.addSegment(LiveInterval::Segment(Start, End, VNI));
850 Start = End;
858 Start = End;
865 // so the live range is accurate. Add live-in blocks in [Start;End) to the
873 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End));
877 if (BlockEnd <= End)
885 // Handle the live-in blocks covered by [Start;End).
887 while (BlockStart < End) {
893 VNInfo *VNI = LR.extendInBlock(BlockStart, std::min(BlockEnd, End));
895 if (End >= BlockEnd)
900 if (End < BlockEnd)
901 End);
911 Start = End;
912 } while (Start != S.end);
934 SlotIndex End = LIS.getMBBEndIdx(*PI);
935 SlotIndex LastUse = End.getPrevSlot();
941 LRC.extend(LR, End);
997 for (LiveRangeEdit::iterator I = Edit->begin(), E = Edit->end(); I != E; ++I){
1000 // Dead defs end at the dead slot.
1001 if (S.end != S.valno->def.getDeadSlot())
1068 for (LiveRangeEdit::iterator I = Edit->begin(), E = Edit->end(); I != E; ++I) {
1124 // Finally, don't isolate an end point that was created by earlier splits.