[PATCH] D106176: [Scheduler] Treat weak edges uniformly at entry

Carl Ritson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 20 01:10:24 PDT 2021


critson accepted this revision.
critson added a comment.
This revision is now accepted and ready to land.

LGTM

I agree manipulation of the available queue here needs to be made consistent with the scheduling loop below it.

I wonder whether we want to be selecting these instructions (leaf with remaining weak preds) to the pending queue at all?
For example, if the condition on line 536 was extended to exclude SUnits with weak predecessors as well?
That said, in the absence of other leaf nodes then we do want to break weak conditions and schedule these SUnits.
Otherwise we risk not being able to schedule anything, so this seems to be the correct solution.

I guess with this change, in the presence of a single leaf with weak preds then `CurCycle` will be progressively raised until the assertion in `ScheduleNodeTopDown` passes?
And such a case is relatively atypical?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D106176/new/

https://reviews.llvm.org/D106176



More information about the llvm-commits mailing list