OSDN Git Service

* reload.c (find_reloads): Revert code to penalize small register
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jul 2010 11:07:17 +0000 (11:07 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jul 2010 11:07:17 +0000 (11:07 +0000)
classes that was brought in with the IRA merge.

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

gcc/ChangeLog
gcc/reload.c

index ae90fdd..2f0795e 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * reload.c (find_reloads): Revert code to penalize small register
+       classes that was brought in with the IRA merge.
+
 2010-07-14  Richard Guenther  <rguenther@suse.de>
 
        * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle MEM_REF
index 6301f9a..98aaa23 100644 (file)
@@ -2602,7 +2602,6 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
   char goal_alternative_earlyclobber[MAX_RECOG_OPERANDS];
   int goal_alternative_swapped;
   int best;
-  int best_small_class_operands_num;
   int commutative;
   char operands_match[MAX_RECOG_OPERANDS][MAX_RECOG_OPERANDS];
   rtx substed_operand[MAX_RECOG_OPERANDS];
@@ -2928,7 +2927,6 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
      all the operands together against the register constraints.  */
 
   best = MAX_RECOG_OPERANDS * 2 + 600;
-  best_small_class_operands_num = 0;
 
   swapped = 0;
   goal_alternative_swapped = 0;
@@ -3715,27 +3713,7 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
         record it as the chosen goal for reloading.  */
       if (! bad)
        {
-         bool change_p = false;
-         int small_class_operands_num = 0;
-
-         if (best >= losers)
-           {
-             for (i = 0; i < noperands; i++)
-               small_class_operands_num
-                 += SMALL_REGISTER_CLASS_P (this_alternative[i]) ? 1 : 0;
-             if (best > losers
-                 || (best == losers
-                     /* If the cost of the reloads is the same,
-                        prefer alternative which requires minimal
-                        number of small register classes for the
-                        operands.  This improves chances of reloads
-                        for insn requiring small register
-                        classes.  */
-                     && (small_class_operands_num
-                         < best_small_class_operands_num)))
-               change_p = true;
-           }
-         if (change_p)
+         if (best > losers)
            {
              for (i = 0; i < noperands; i++)
                {
@@ -3751,7 +3729,6 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
                }
              goal_alternative_swapped = swapped;
              best = losers;
-             best_small_class_operands_num = small_class_operands_num;
              goal_alternative_number = this_alternative_number;
              goal_earlyclobber = this_earlyclobber;
            }