aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2010-07-14 11:07:17 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2010-07-14 11:07:17 +0000
commitb1c8622e9534e5c614785e80b35c423fe0e454c1 (patch)
treeaa503e73d27678c2ab8a1e3545df1211a2fdfec1 /gcc/reload.c
parent2bd6311dbb9325b80a3b9106fb40b508c393e2d4 (diff)
downloadgcc-b1c8622e9534e5c614785e80b35c423fe0e454c1.zip
gcc-b1c8622e9534e5c614785e80b35c423fe0e454c1.tar.gz
gcc-b1c8622e9534e5c614785e80b35c423fe0e454c1.tar.bz2
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
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index 6301f9a..98aaa23 100644
--- a/gcc/reload.c
+++ b/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;
}