[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