Lines Matching refs:R
93 for (const auto R : Regions) { in printRegions() local
95 printRegion(OS, R->Begin, R->End, LIS, 1); in printRegions()
96 printLivenessInfo(OS, R->Begin, R->End, LIS); in printRegions()
97 OS << "Max RP: " << print(R->MaxPressure, &ST); in printRegions()
103 const Region *R, in printSchedResult() argument
106 printRegion(OS, R->Begin, R->End, LIS); in printSchedResult()
107 printSchedRP(OS, R->MaxPressure, RP); in printSchedResult()
128 BuildDAG(const Region &R, GCNIterativeScheduler &_Sch) in BuildDAG() argument
130 auto BB = R.Begin->getParent(); in BuildDAG()
132 Sch.BaseClass::enterRegion(BB, R.Begin, R.End, R.NumRegionInstrs); in BuildDAG()
160 OverrideLegacyStrategy(Region &R, in OverrideLegacyStrategy() argument
164 , Rgn(R) in OverrideLegacyStrategy()
166 , SaveMaxRP(R.MaxPressure) { in OverrideLegacyStrategy()
168 auto BB = R.Begin->getParent(); in OverrideLegacyStrategy()
170 Sch.BaseClass::enterRegion(BB, R.Begin, R.End, R.NumRegionInstrs); in OverrideLegacyStrategy()
259 GCNIterativeScheduler::getSchedulePressure(const Region &R, in getSchedulePressure() argument
261 auto const BBEnd = R.Begin->getParent()->end(); in getSchedulePressure()
263 if (R.End != BBEnd) { in getSchedulePressure()
266 RPTracker.reset(*R.End); in getSchedulePressure()
267 RPTracker.recede(*R.End); in getSchedulePressure()
335 void GCNIterativeScheduler::setBestSchedule(Region &R, in setBestSchedule() argument
338 R.BestSchedule.reset( in setBestSchedule()
342 void GCNIterativeScheduler::scheduleBest(Region &R) { in scheduleBest() argument
343 assert(R.BestSchedule.get() && "No schedule specified"); in scheduleBest()
344 scheduleRegion(R, R.BestSchedule->Schedule, R.BestSchedule->MaxPressure); in scheduleBest()
345 R.BestSchedule.reset(); in scheduleBest()
351 void GCNIterativeScheduler::scheduleRegion(Region &R, Range &&Schedule, in scheduleRegion() argument
353 assert(RegionBegin == R.Begin && RegionEnd == R.End); in scheduleRegion()
356 const auto SchedMaxRP = getSchedulePressure(R, Schedule); in scheduleRegion()
358 auto BB = R.Begin->getParent(); in scheduleRegion()
359 auto Top = R.Begin; in scheduleRegion()
390 RegionEnd = R.End; in scheduleRegion()
393 R.Begin = RegionBegin; in scheduleRegion()
394 R.MaxPressure = MaxRP; in scheduleRegion()
397 const auto RegionMaxRP = getRegionPressure(R); in scheduleRegion()
434 for (auto *R : Regions) { in tryMaximizeOccupancy() local
435 if (R->MaxPressure.getOccupancy(ST) >= NewOcc) in tryMaximizeOccupancy()
438 LLVM_DEBUG(printRegion(dbgs(), R->Begin, R->End, LIS, 3); in tryMaximizeOccupancy()
439 printLivenessInfo(dbgs(), R->Begin, R->End, LIS)); in tryMaximizeOccupancy()
441 BuildDAG DAG(*R, *this); in tryMaximizeOccupancy()
443 const auto MaxRP = getSchedulePressure(*R, MinSchedule); in tryMaximizeOccupancy()
445 printSchedRP(dbgs(), R->MaxPressure, MaxRP)); in tryMaximizeOccupancy()
451 setBestSchedule(*R, MinSchedule, MaxRP); in tryMaximizeOccupancy()
490 for (auto *R : Regions) { in scheduleLegacyMaxOccupancy() local
491 OverrideLegacyStrategy Ovr(*R, LStrgy, *this); in scheduleLegacyMaxOccupancy()
494 const auto RP = getRegionPressure(*R); in scheduleLegacyMaxOccupancy()
495 LLVM_DEBUG(printSchedRP(dbgs(), R->MaxPressure, RP)); in scheduleLegacyMaxOccupancy()
499 if (R->BestSchedule.get() && in scheduleLegacyMaxOccupancy()
500 R->BestSchedule->MaxPressure.getOccupancy(ST) >= TgtOcc) { in scheduleLegacyMaxOccupancy()
502 scheduleBest(*R); in scheduleLegacyMaxOccupancy()
506 assert(R->MaxPressure.getOccupancy(ST) >= TgtOcc); in scheduleLegacyMaxOccupancy()
524 for (auto *R : Regions) { in scheduleMinReg() local
525 if (!force && R->MaxPressure.less(MF, MaxPressure, TgtOcc)) in scheduleMinReg()
528 BuildDAG DAG(*R, *this); in scheduleMinReg()
531 const auto RP = getSchedulePressure(*R, MinSchedule); in scheduleMinReg()
532 LLVM_DEBUG(if (R->MaxPressure.less(MF, RP, TgtOcc)) { in scheduleMinReg()
534 printSchedRP(dbgs(), R->MaxPressure, RP); in scheduleMinReg()
540 scheduleRegion(*R, MinSchedule, RP); in scheduleMinReg()
541 LLVM_DEBUG(printSchedResult(dbgs(), R, RP)); in scheduleMinReg()
568 for (auto *R : Regions) { in scheduleILP() local
569 BuildDAG DAG(*R, *this); in scheduleILP()
572 const auto RP = getSchedulePressure(*R, ILPSchedule); in scheduleILP()
573 LLVM_DEBUG(printSchedRP(dbgs(), R->MaxPressure, RP)); in scheduleILP()
577 if (R->BestSchedule.get() && in scheduleILP()
578 R->BestSchedule->MaxPressure.getOccupancy(ST) >= TgtOcc) { in scheduleILP()
580 scheduleBest(*R); in scheduleILP()
583 scheduleRegion(*R, ILPSchedule, RP); in scheduleILP()
584 LLVM_DEBUG(printSchedResult(dbgs(), R, RP)); in scheduleILP()