PR rtl-optimization/37424
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Sep 2008 05:24:41 +0000 (05:24 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Sep 2008 05:24:41 +0000 (05:24 +0000)
* ira-color.c (coalesced_pseudo_reg_slot_compare): Untie by comparing
the regnos instead of the addresses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140312 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ira-color.c

index dea503e..43420dd 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 6342e90..645d7dc 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