Lines Matching full:regions
14 /// Regions are first recorded in GCNScheduleDAGMILive::schedule. The actual
15 /// entry point for the scheduling of those regions is
20 /// few scheduling regions will have register pressure high enough to limit
22 /// other regions.
604 // Collect all scheduling regions. The actual scheduling is performed in in schedule()
606 Regions.push_back(std::pair(RegionBegin, RegionEnd)); in schedule()
638 // Scheduler sends regions from the end of the block upwards. in computeBlockPressure()
640 for (size_t E = Regions.size(); CurRegion != E; ++CurRegion) in computeBlockPressure()
641 if (Regions[CurRegion].first->getParent() != MBB) in computeBlockPressure()
647 auto &Rgn = Regions[CurRegion]; in computeBlockPressure()
665 if (Regions[CurRegion].first == I || NonDbgMI == I) { in computeBlockPressure()
670 if (Regions[CurRegion].second == I) { in computeBlockPressure()
691 assert(!Regions.empty()); in getBBLiveInMap()
693 BBStarters.reserve(Regions.size()); in getBBLiveInMap()
694 auto I = Regions.rbegin(), E = Regions.rend(); in getBBLiveInMap()
708 // MachineScheduler after all regions have been recorded by in finalizeSchedule()
710 LiveIns.resize(Regions.size()); in finalizeSchedule()
711 Pressure.resize(Regions.size()); in finalizeSchedule()
712 RescheduleRegions.resize(Regions.size()); in finalizeSchedule()
713 RegionsWithHighRP.resize(Regions.size()); in finalizeSchedule()
714 RegionsWithExcessRP.resize(Regions.size()); in finalizeSchedule()
715 RegionsWithMinOcc.resize(Regions.size()); in finalizeSchedule()
716 RegionsWithIGLPInstrs.resize(Regions.size()); in finalizeSchedule()
727 LLVM_DEBUG(dbgs() << "All regions recorded, starting actual scheduling.\n"); in runSchedStages()
729 if (!Regions.empty()) in runSchedStages()
738 for (auto Region : Regions) { in runSchedStages()
830 // Don't bother trying to improve ILP in lower RP regions if occupancy has not in initGCNSchedStage()
831 // been dropped. All regions will have already been scheduled with the ideal in initGCNSchedStage()
846 if (DAG.RegionsWithMinOcc.none() || DAG.Regions.size() == 1) in initGCNSchedStage()
855 // FIXME: This pass will invalidate cached MBBLiveIns for regions in initGCNSchedStage()
857 // for regions where a def is sinked from will also be invalidated. Will in initGCNSchedStage()
900 // Skip empty scheduling regions (0 or 1 schedulable instructions). in initGCNRegion()
955 // Only reschedule regions with the minimum occupancy or regions that may have in initGCNRegion()
998 DAG.Regions[RegionIdx] = std::pair(DAG.RegionBegin, DAG.RegionEnd); in finalizeGCNRegion()
1368 DAG.Regions[RegionIdx] = std::pair(DAG.RegionBegin, DAG.RegionEnd); in revertScheduling()
1393 // live-through or used inside regions at MinOccupancy. This means that the in collectRematerializableInstructions()
1396 for (unsigned I = 0, E = DAG.Regions.size(); I != E; ++I) { in collectRematerializableInstructions()
1404 // Collect regions with rematerializable reg as live-in to avoid in collectRematerializableInstructions()
1426 NewRegions.resize(DAG.Regions.size()); in sinkTriviallyRematInsts()
1427 NewRescheduleRegions.resize(DAG.Regions.size()); in sinkTriviallyRematInsts()
1429 // Collect only regions that has a rematerializable def as a live-in. in sinkTriviallyRematInsts()
1440 NewRegions = DAG.Regions; in sinkTriviallyRematInsts()
1512 // Update RP for all regions that has this reg as a live-in and remove in sinkTriviallyRematInsts()
1513 // the reg from all regions as a live-in. in sinkTriviallyRematInsts()
1516 if (InsertPos->getParent() != DAG.Regions[Idx].first->getParent()) { in sinkTriviallyRematInsts()
1536 // Remove defs we just sinked from all regions' list of sinkable defs in sinkTriviallyRematInsts()
1549 // Occupancy was not improved for all regions that were at MinOccupancy. in sinkTriviallyRematInsts()
1564 // Occupancy was improved for all regions. in sinkTriviallyRematInsts()
1580 // Update live-ins, register pressure, and regions caches. in sinkTriviallyRematInsts()
1584 DAG.MBBLiveIns.erase(DAG.Regions[Idx].first->getParent()); in sinkTriviallyRematInsts()
1586 DAG.Regions = NewRegions; in sinkTriviallyRematInsts()