Lines Matching defs:RegionEnd

429 /// scheduler must update the RegionBegin and RegionEnd positions cached by
525 /// RegionEnd is either MBB->end() or the scheduling boundary after the
530 MachineBasicBlock::iterator RegionEnd;
535 RegionBegin(B), RegionEnd(E), NumRegionInstrs(N) {}
549 for(MachineBasicBlock::iterator RegionEnd = MBB->end();
550 RegionEnd != MBB->begin(); RegionEnd = I) {
552 // Avoid decrementing RegionEnd for blocks with no terminator.
553 if (RegionEnd != MBB->end() ||
554 isSchedBoundary(&*std::prev(RegionEnd), &*MBB, MF, TII)) {
555 --RegionEnd;
561 I = RegionEnd;
576 Regions.push_back(SchedRegion(I, RegionEnd, NumRegionInstrs));
603 // Break the block into scheduling regions [I, RegionEnd). RegionEnd
605 // does not include RegionEnd, but the region does (i.e. the next
606 // RegionEnd is above the previous RegionBegin). If the current block has
607 // no terminator then RegionEnd == MBB->end() for the bottom region.
614 // 'RegionEnd' are invalid across these calls. Instructions must not be
621 MachineBasicBlock::iterator RegionEnd = R.RegionEnd;
626 Scheduler.enterRegion(&*MBB, I, RegionEnd, NumRegionInstrs);
629 if (I == RegionEnd || I == std::prev(RegionEnd)) {
631 // This invalidates 'RegionEnd' and 'I'.
639 if (RegionEnd != MBB->end()) dbgs() << *RegionEnd;
954 CurrentTop = nextIfDebug(RegionBegin, RegionEnd);
955 CurrentBottom = RegionEnd;
985 if (RegionEnd != BB->end() && OrigPrevMI == &*RegionEnd)
986 RegionEnd = DbgValue;
1239 LiveRegionEnd = (RegionEnd == bb->end()) ? RegionEnd : std::next(RegionEnd);
1290 if (LiveRegionEnd != RegionEnd) {
1301 assert((BotRPTracker.getPos() == RegionEnd ||
1302 (RegionEnd->isDebugInstr() &&
1303 BotRPTracker.getPos() == priorNonDebug(RegionEnd, RegionBegin))) &&
1446 /// after setting up the current scheduling region. [RegionBegin, RegionEnd)
1528 if (LiveRegionEnd != RegionEnd)