Lines Matching defs:RegionEnd

429 /// scheduler must update the RegionBegin and RegionEnd positions cached by
540 /// RegionEnd is either MBB->end() or the scheduling boundary after the
545 MachineBasicBlock::iterator RegionEnd;
550 RegionBegin(B), RegionEnd(E), NumRegionInstrs(N) {}
564 for(MachineBasicBlock::iterator RegionEnd = MBB->end();
565 RegionEnd != MBB->begin(); RegionEnd = I) {
567 // Avoid decrementing RegionEnd for blocks with no terminator.
568 if (RegionEnd != MBB->end() ||
569 isSchedBoundary(&*std::prev(RegionEnd), &*MBB, MF, TII)) {
570 --RegionEnd;
576 I = RegionEnd;
591 Regions.push_back(SchedRegion(I, RegionEnd, NumRegionInstrs));
618 // Break the block into scheduling regions [I, RegionEnd). RegionEnd
620 // does not include RegionEnd, but the region does (i.e. the next
621 // RegionEnd is above the previous RegionBegin). If the current block has
622 // no terminator then RegionEnd == MBB->end() for the bottom region.
629 // 'RegionEnd' are invalid across these calls. Instructions must not be
636 MachineBasicBlock::iterator RegionEnd = R.RegionEnd;
641 Scheduler.enterRegion(&*MBB, I, RegionEnd, NumRegionInstrs);
644 if (I == RegionEnd || I == std::prev(RegionEnd)) {
646 // This invalidates 'RegionEnd' and 'I'.
654 if (RegionEnd != MBB->end()) dbgs() << *RegionEnd;
959 CurrentTop = nextIfDebug(RegionBegin, RegionEnd);
960 CurrentBottom = RegionEnd;
990 if (RegionEnd != BB->end() && OrigPrevMI == &*RegionEnd)
991 RegionEnd = DbgValue;
1244 LiveRegionEnd = (RegionEnd == bb->end()) ? RegionEnd : std::next(RegionEnd);
1295 if (LiveRegionEnd != RegionEnd) {
1306 assert((BotRPTracker.getPos() == RegionEnd ||
1307 (RegionEnd->isDebugInstr() &&
1308 BotRPTracker.getPos() == priorNonDebug(RegionEnd, RegionBegin))) &&
1452 /// after setting up the current scheduling region. [RegionBegin, RegionEnd)
1534 if (LiveRegionEnd != RegionEnd)