re PR bootstrap/37424 (IRA merge breaks Solaris/SPARC bootstrap)
authorEric Botcazou <ebotcazou@adacore.com>
Fri, 12 Sep 2008 05:24:41 +0000 (05:24 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 12 Sep 2008 05:24:41 +0000 (05:24 +0000)
PR rtl-optimization/37424
* ira-color.c (coalesced_pseudo_reg_slot_compare): Untie by comparing
the regnos instead of the addresses.

From-SVN: r140312

gcc/ChangeLog
gcc/ira-color.c

index dea503ebca27da3e25ac858ad28ca36a845fd7e8..43420dd23cc9ff08ff38b45cfe5750d7a668a35b 100644 (file)
@@ -1,3 +1,9 @@
+2008-09-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/37424
+       * ira-color.c (coalesced_pseudo_reg_slot_compare): Untie by comparing
+       the regnos instead of the addresses.
+
 2008-09-11  Janis Johnson  <janis187@us.ibm.com>
 
        * ginclude/float.h (DEC_EVAL_METHOD): Correct the macro name.
index 6342e90a9232ddea8045d36b57d8f5b682760e30..645d7dc3e536f52ab74940cea04cc98a9d8aa03a 100644 (file)
@@ -2171,7 +2171,7 @@ coalesced_pseudo_reg_slot_compare (const void *v1p, const void *v2p)
   if (a1 == NULL || ALLOCNO_HARD_REGNO (a1) >= 0)
     {
       if (a2 == NULL || ALLOCNO_HARD_REGNO (a2) >= 0)
-       return (const int *) v1p - (const int *) v2p; /* Save the order. */
+       return regno1 - regno2;
       return 1;
     }
   else if (a2 == NULL || ALLOCNO_HARD_REGNO (a2) >= 0)
@@ -2185,7 +2185,7 @@ coalesced_pseudo_reg_slot_compare (const void *v1p, const void *v2p)
   total_size2 = MAX (PSEUDO_REGNO_BYTES (regno2), regno_max_ref_width[regno2]);
   if ((diff = total_size2 - total_size1) != 0)
     return diff;
-  return (const int *) v1p - (const int *) v2p; /* Save the order. */
+  return regno1 - regno2;
 }
 
 /* Setup REGNO_COALESCED_ALLOCNO_COST and REGNO_COALESCED_ALLOCNO_NUM