aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2018-01-15 06:05:50 +0000
committerJeff Law <law@gcc.gnu.org>2018-01-14 23:05:50 -0700
commit5804f6271247b02199abdd62a89c0c2bf807b656 (patch)
tree5eed3f61008bbccd3eff25c6b392c87a7cdf9a72
parentaba0d181dc4c96220305b58b049d209e544f0ac4 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/ira-color.c3
-rw-r--r--gcc/tree-ssa-loop-im.c2
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;
}