PR84068, PR83459: Fix sort order of SCHED_PRESSURE_MODEL
authorWilco Dijkstra <wdijkstr@arm.com>
Thu, 8 Feb 2018 12:29:28 +0000 (12:29 +0000)
committerWilco Dijkstra <wilco@gcc.gnu.org>
Thu, 8 Feb 2018 12:29:28 +0000 (12:29 +0000)
commit18fbe394d62371bedaa41ed32c89c659109ae8f5
treeabee5c0888e2e05b7ff80a7f92572e3d6df3ecbf
parenteacac712e337690ee21ce37fd06b2fe8b10a58f1
PR84068, PR83459: Fix sort order of SCHED_PRESSURE_MODEL

The comparison function for SCHED_PRESSURE_MODEL is incorrect.  If either
instruction is not in target_bb, the ordering is not well defined.
Since all instructions outside the target_bb get the highest model_index,
all we need to do is sort on model_index.  If the model_index is the same
we defer to RFS_DEP_COUNT and/or RFS_TIE.

    gcc/
PR rtl-optimization/84068
PR rtl-optimization/83459
* haifa-sched.c (rank_for_schedule): Fix SCHED_PRESSURE_MODEL sorting.

    gcc/testsuite
PR rtl-optimization/84068
PR rtl-optimization/83459
* gcc.dg/pr84068.c: New test.

From-SVN: r257481
gcc/ChangeLog
gcc/haifa-sched.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr84068.c [new file with mode: 0644]