From 5804f6271247b02199abdd62a89c0c2bf807b656 Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Mon, 15 Jan 2018 06:05:50 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/ira-color.c | 3 +-- gcc/tree-ssa-loop-im.c | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index abd0e317866..0d908279e9c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-01-14 Cory Fields + + * 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 PR target/83013 diff --git a/gcc/ira-color.c b/gcc/ira-color.c index c8b6ab4bcdf..26b18f3b15d 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 7d956218681..7864fbd1fb5 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; } -- 2.30.2