Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Start

163   MachineFunction::iterator MFI = LIS.getMBBFromIndex(LVI->start);
167 SlotIndex Start, Stop;
168 tie(Start, Stop) = LIS.getSlotIndexes()->getMBBRange(BI.MBB);
183 assert(BI.FirstInstr >= Start);
190 BI.LiveIn = LVI->start <= Start;
194 assert(LVI->start == LVI->valno->def && "Dangling LiveRange start");
195 assert(LVI->start == BI.FirstInstr && "First instr should be a def");
203 if (++LVI == LVE || LVI->start >= Stop) {
209 if (LastStop < LVI->start) {
222 BI.FirstInstr = BI.FirstDef = LVI->start;
226 assert(LVI->start == LVI->valno->def && "Dangling LiveRange start");
228 BI.FirstDef = LVI->start;
243 if (LVI->start < Stop)
246 MFI = LIS.getMBBFromIndex(LVI->start);
262 MachineFunction::const_iterator MFI = LIS.getMBBFromIndex(LVI->start);
272 } while (Stop <= LVI->start);
283 if (I != Orig.end() && I->start <= Idx)
284 return I->start == Idx;
341 dbgs() << " [" << I.start() << ';' << I.stop() << "):" << I.value();
511 void SplitEditor::useIntv(SlotIndex Start, SlotIndex End) {
513 DEBUG(dbgs() << " useIntv [" << Start << ';' << End << "):");
514 RegAssign.insert(Start, End, OpenIdx);
570 SlotIndex Start = LIS.getMBBStartIdx(&MBB);
571 DEBUG(dbgs() << " leaveIntvAtTop BB#" << MBB.getNumber() << ", " << Start);
573 VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start);
576 return Start;
579 VNInfo *VNI = defFromParent(0, ParentVNI, Start, MBB,
581 RegAssign.insert(Start, VNI->def, OpenIdx);
586 void SplitEditor::overlapIntv(SlotIndex Start, SlotIndex End) {
588 const VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Start);
591 assert(LIS.getMBBFromIndex(Start) == LIS.getMBBFromIndex(End) &&
597 DEBUG(dbgs() << " overlapIntv [" << Start << ';' << End << "):");
598 RegAssign.insert(Start, End, OpenIdx);
633 if (!AssignI.valid() || AssignI.start() >= Def)
813 SlotIndex Start = ParentI->start;
814 AssignI.advanceTo(Start);
820 } else if (AssignI.start() <= Start) {
828 End = std::min(End, AssignI.start());
831 // The interval [Start;End) is continuously mapped to RegIdx, ParentVNI.
832 DEBUG(dbgs() << " [" << Start << ';' << End << ")=" << RegIdx);
839 LI->addRange(LiveRange(Start, End, VNI));
840 Start = End;
848 Start = End;
855 // so the live range is accurate. Add live-in blocks in [Start;End) to the
857 MachineFunction::iterator MBB = LIS.getMBBFromIndex(Start);
862 if (Start != BlockStart) {
875 // Handle the live-in blocks covered by [Start;End).
876 assert(Start <= BlockStart && "Expected live-in block");
882 assert(ParentVNI->isPHIDef() && "Non-phi defined at block start?");
901 Start = End;
902 } while (Start != ParentI->end);
1158 SlotIndex Start, Stop;
1159 tie(Start, Stop) = LIS.getSlotIndexes()->getMBBRange(MBBNum);
1161 DEBUG(dbgs() << "BB#" << MBBNum << " [" << Start << ';' << Stop
1168 assert((!IntvIn || !LeaveBefore || LeaveBefore > Start) && "Impossible intf");
1169 assert((!EnterAfter || EnterAfter >= Start) && "Interference before block");
1208 useIntv(Start, Stop);
1233 useIntv(Start, Idx);
1254 useIntv(Start, Idx);
1261 SlotIndex Start, Stop;
1262 tie(Start, Stop) = LIS.getSlotIndexes()->getMBBRange(BI.MBB);
1264 DEBUG(dbgs() << "BB#" << BI.MBB->getNumber() << " [" << Start << ';' << Stop
1271 assert((!LeaveBefore || LeaveBefore > Start) && "Bad interference");
1281 useIntv(Start, BI.LastInstr);
1302 useIntv(Start, Idx);
1309 useIntv(Start, Idx);
1332 useIntv(Start, From);
1347 useIntv(Start, From);
1353 SlotIndex Start, Stop;
1354 tie(Start, Stop) = LIS.getSlotIndexes()->getMBBRange(BI.MBB);
1356 DEBUG(dbgs() << "BB#" << BI.MBB->getNumber() << " [" << Start << ';' << Stop