diff options
author | Cory Fields <cory-nospam-@coryfields.com> | 2018-01-15 06:05:50 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-01-14 23:05:50 -0700 |
commit | 5804f6271247b02199abdd62a89c0c2bf807b656 (patch) | |
tree | 5eed3f61008bbccd3eff25c6b392c87a7cdf9a72 | |
parent | aba0d181dc4c96220305b58b049d209e544f0ac4 (diff) | |
download | gcc-5804f6271247b02199abdd62a89c0c2bf807b656.zip gcc-5804f6271247b02199abdd62a89c0c2bf807b656.tar.gz gcc-5804f6271247b02199abdd62a89c0c2bf807b656.tar.bz2 |
tree-ssa-loop-im.c (sort_bbs_in_loop_postorder_cmp): Stabilize sort.
* tree-ssa-loop-im.c (sort_bbs_in_loop_postorder_cmp): Stabilize sort.
* ira-color (allocno_hard_regs_compare): Likewise.
From-SVN: r256682
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira-color.c | 3 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index abd0e31..0d90827 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-01-14 Cory Fields <cory-nospam-@coryfields.com> + + * tree-ssa-loop-im.c (sort_bbs_in_loop_postorder_cmp): Stabilize sort. + * ira-color (allocno_hard_regs_compare): Likewise. + 2018-01-14 Nathan Rossi <nathan@nathanrossi.com> PR target/83013 diff --git a/gcc/ira-color.c b/gcc/ira-color.c index c8b6ab4..26b18f3 100644 --- a/gcc/ira-color.c +++ b/gcc/ira-color.c @@ -300,8 +300,7 @@ allocno_hard_regs_compare (const void *v1p, const void *v2p) return 1; else if (hv2->cost < hv1->cost) return -1; - else - return 0; + return SORTGT (allocno_hard_regs_hasher::hash(hv2), allocno_hard_regs_hasher::hash(hv1)); } diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 7d95621..7864fbd 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -1496,7 +1496,7 @@ sort_bbs_in_loop_postorder_cmp (const void *bb1_, const void *bb2_) struct loop *loop1 = bb1->loop_father; struct loop *loop2 = bb2->loop_father; if (loop1->num == loop2->num) - return 0; + return bb1->index - bb2->index; return bb_loop_postorder[loop1->num] < bb_loop_postorder[loop2->num] ? -1 : 1; } |