[PATCH] D53485: [ScheduleDAGRRList] Do not preschedule the node has ADJCALLSTACKDOWN parent

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 2 11:57:03 PDT 2018


efriedma added subscribers: atrick, efriedma.
efriedma added a comment.

Please include a testcase, if possible.

If I'm following correctly, the issue is PrescheduleNodesWithMultipleUses() is trying to preschedule a store that's part of a call sequence, and that introduces an extra edge that makes the DAG impossible to schedule?  That makes sense, and the approach this patch takes seems correct.

I'm a little concerned this is is a fragile workaround; maybe instead of adding a heuristic here, we should pre-schedule call sequences so they can't overlap.  (They normally can't anyway, except for calls to runtime functions inserted by SelectionDAG itself.)


Repository:
  rL LLVM

https://reviews.llvm.org/D53485





More information about the llvm-commits mailing list