[PATCH] D65506: [MachineScheduler] improve reuse of 'releaseNode'method

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 12 02:36:58 PDT 2019


fhahn added inline comments.


================
Comment at: llvm/lib/CodeGen/MachineScheduler.cpp:2361
-
-    if (Available.size() >= ReadyListLimit)
-      break;
----------------
DoktorC wrote:
> fhahn wrote:
> > The new code is is missing this condition and Available.size() may exceed ReadyListLimit I think.
> Actually,  'HazardDetected' condition in 'releaseNode' covers this case.
Right, my main concern was missing out on the early exit in the loop. I think it would still be worth keeping the early exits if `Available.size() >= ReadyListLimit`. 

I *think* it would make sense to have the early exit at the beginning of the loop, as currently we set MinReadyCycle even if we do not add the SU to Available. IIRC, MinReadyCycle should indicate the Cycle of the soonest available instruction in Available, not pending.


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

https://reviews.llvm.org/D65506





More information about the llvm-commits mailing list