Update the checking and adding of edges in power-sched dag mutation. Previously, the methods used the Preds and Succs of SUnits to determine whether or not adding an edge was feasible. An example issue of this is that the Preds and Succs vectors may not contain artificial edges added from previous DAG mutations. By using methods in the DAG to check for and add edges, we can be sure to not create cycles. Note: power-sched is now off by default in trunk, this patch is needed for cherry picking.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/AMDGPU/power-sched-no-cycle.mir | ||
---|---|---|
3 | Remove debug-only lines and add enable-power-sched. |
Comment Actions
Address review comments.
Additionally, add some quick checks to potentially avoid calls to DAG->canAddEdge() / handle edge case where ExitSU is treated as predecessor in DAG->canAddEdge()
Remove debug-only lines and add enable-power-sched.