Lines Matching +defs:Range +defs:Offset
130 unsigned Offset = Idx + SchedPhiNum;
131 auto Range = getScheduleRange(Offset, SchedInstrNum);
133 SchedDAG->enterRegion(MBB, Range.begin(), Range.end(), SchedInstrNum);
136 unsigned II = analyseII(*SchedDAG, Offset);
143 schedulePhi(Offset, II);
144 updateScheduleResult(Offset, II);
146 LLVM_DEBUG(dbgs() << "Current window Offset is " << Offset << " and II is "
423 unsigned Offset) {
431 auto Range = getScheduleRange(Offset, SchedInstrNum);
432 for (auto &MI : Range) {
456 << getOriStage(getOriMI(&MI), Offset) << "]: " << MI);
492 int WindowScheduler::calculateStallCycle(unsigned Offset, int MaxCycle) {
495 auto Range = getScheduleRange(Offset, SchedInstrNum);
496 for (auto &MI : Range) {
521 unsigned WindowScheduler::analyseII(ScheduleDAGInstrs &DAG, unsigned Offset) {
523 int MaxCycle = calculateMaxCycle(DAG, Offset);
526 int StallCycle = calculateStallCycle(Offset, MaxCycle);
533 void WindowScheduler::schedulePhi(int Offset, unsigned &II) {
546 if (getOriStage(getOriMI(SuccMI), Offset) == 0)
555 if (getOriStage(getOriMI(AntiMI), Offset) == 0)
569 DenseMap<MachineInstr *, int> WindowScheduler::getIssueOrder(unsigned Offset,
574 auto Range = getScheduleRange(Offset, SchedInstrNum);
577 for (auto &MI : Range)
592 void WindowScheduler::updateScheduleResult(unsigned Offset, unsigned II) {
593 // At the first update, Offset is equal to SchedPhiNum. At this time, only
595 if (Offset == SchedPhiNum) {
606 BestOffset = Offset;
610 auto IssueOrder = getIssueOrder(Offset, II);
614 getOriStage(Pair.first, Offset),
660 WindowScheduler::getScheduleRange(unsigned Offset, unsigned Num) {
662 std::advance(RegionBegin, Offset);
680 unsigned WindowScheduler::getOriStage(MachineInstr *OriMI, unsigned Offset) {
684 if (Offset == SchedPhiNum)
686 // For those MIs with an ID less than the Offset, their stages are set to 0,
696 return Id >= (size_t)Offset ? 1 : 0;