mirror of git://gcc.gnu.org/git/gcc.git
reload.c (find_reloads): Revert code to penalize small register classes that was brought in with the IRA...
* reload.c (find_reloads): Revert code to penalize small register classes that was brought in with the IRA merge. From-SVN: r162176
This commit is contained in:
parent
2bd6311dbb
commit
b1c8622e95
|
|
@ -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
|
||||
|
|
|
|||
25
gcc/reload.c
25
gcc/reload.c
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue