diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-10 14:20:44 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-10 14:20:44 +0000 |
commit | d12ecbda3a21e0eed3faa0cff52e869c367d7c3f (patch) | |
tree | cb38c051fd4426dd2a0239c40df352a4c6963bfb /gcc/ira-costs.c | |
parent | 0680f86038462eed9491fba4a31c59b9a03ca692 (diff) | |
download | gcc-d12ecbda3a21e0eed3faa0cff52e869c367d7c3f.tar.gz |
* ira-costs.c: Remove #ifdefs on dead FORBIDDEN_INC_DEC_CLASSES.
Adjust comments.
* system.h (FORBIDDEN_INC_DEC_CLASSES): Poison.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174908 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r-- | gcc/ira-costs.c | 56 |
1 files changed, 6 insertions, 50 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index 1dbb5a73460..da14089f913 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -46,15 +46,9 @@ static bool pseudo_classes_defined_p = false; /* TRUE if we work with allocnos. Otherwise we work with pseudos. */ static bool allocno_p; -/* Number of elements in arrays `in_inc_dec' and `costs'. */ +/* Number of elements in array `costs'. */ static int cost_elements_num; -#ifdef FORBIDDEN_INC_DEC_CLASSES -/* Indexed by n, is TRUE if allocno or pseudo with number N is used in - an auto-inc or auto-dec context. */ -static bool *in_inc_dec; -#endif - /* The `costs' struct records the cost of using hard registers of each class considered for the calculation and of using memory for each allocno or pseudo. */ @@ -1135,13 +1129,7 @@ record_address_regs (enum machine_mode mode, rtx x, int context, case PRE_DEC: /* Double the importance of an allocno that is incremented or decremented, since it would take two extra insns if it ends - up in the wrong place. If the operand is a pseudo-register, - show it is being used in an INC_DEC context. */ -#ifdef FORBIDDEN_INC_DEC_CLASSES - if (REG_P (XEXP (x, 0)) - && REGNO (XEXP (x, 0)) >= FIRST_PSEUDO_REGISTER) - in_inc_dec[COST_INDEX (REGNO (XEXP (x, 0)))] = true; -#endif + up in the wrong place. */ record_address_regs (mode, XEXP (x, 0), 0, code, SCRATCH, 2 * scale); break; @@ -1380,9 +1368,6 @@ print_allocno_costs (FILE *f) { rclass = cost_classes[k]; if (contains_reg_of_mode[rclass][PSEUDO_REGNO_MODE (regno)] -#ifdef FORBIDDEN_INC_DEC_CLASSES - && (! in_inc_dec[i] || ! forbidden_inc_dec_class[rclass]) -#endif #ifdef CANNOT_CHANGE_MODE_CLASS && ! invalid_mode_change_p (regno, (enum reg_class) rclass) #endif @@ -1425,9 +1410,6 @@ print_pseudo_costs (FILE *f) { rclass = cost_classes[k]; if (contains_reg_of_mode[rclass][PSEUDO_REGNO_MODE (regno)] -#ifdef FORBIDDEN_INC_DEC_CLASSES - && (! in_inc_dec[regno] || ! forbidden_inc_dec_class[rclass]) -#endif #ifdef CANNOT_CHANGE_MODE_CLASS && ! invalid_mode_change_p (regno, (enum reg_class) rclass) #endif @@ -1477,9 +1459,6 @@ find_costs_and_classes (FILE *dump_file) enum reg_class *regno_best_class; init_recog (); -#ifdef FORBIDDEN_INC_DEC_CLASSES - in_inc_dec = ira_allocate (sizeof (bool) * cost_elements_num); -#endif /* FORBIDDEN_INC_DEC_CLASSES */ regno_best_class = (enum reg_class *) ira_allocate (max_reg_num () * sizeof (enum reg_class)); @@ -1544,9 +1523,6 @@ find_costs_and_classes (FILE *dump_file) /* Zero out our accumulation of the cost of each class for each allocno. */ memset (costs, 0, cost_elements_num * struct_costs_size); -#ifdef FORBIDDEN_INC_DEC_CLASSES - memset (in_inc_dec, 0, cost_elements_num * sizeof (bool)); -#endif if (allocno_p) { @@ -1578,9 +1554,6 @@ find_costs_and_classes (FILE *dump_file) ira_loop_tree_node_t parent; int best_cost, allocno_cost; enum reg_class best, alt_class; -#ifdef FORBIDDEN_INC_DEC_CLASSES - int inc_dec_p = false; -#endif cost_classes_t cost_classes_ptr = regno_cost_classes[i]; enum reg_class *cost_classes = cost_classes_ptr->classes; int *i_costs = temp_costs->cost; @@ -1591,9 +1564,6 @@ find_costs_and_classes (FILE *dump_file) { if (regno_reg_rtx[i] == NULL_RTX) continue; -#ifdef FORBIDDEN_INC_DEC_CLASSES - inc_dec_p = in_inc_dec[i]; -#endif memcpy (temp_costs, COSTS (costs, i), struct_costs_size); i_mem_cost = temp_costs->mem_cost; } @@ -1659,10 +1629,6 @@ find_costs_and_classes (FILE *dump_file) i_mem_cost = INT_MAX; else i_mem_cost += add_cost; -#ifdef FORBIDDEN_INC_DEC_CLASSES - if (in_inc_dec[a_num]) - inc_dec_p = true; -#endif } } if (equiv_savings < 0) @@ -1682,12 +1648,9 @@ find_costs_and_classes (FILE *dump_file) for (k = 0; k < cost_classes_ptr->num; k++) { rclass = cost_classes[k]; - /* Ignore classes that are too small for this operand or - invalid for an operand that was auto-incremented. */ + /* Ignore classes that are too small or invalid for this + operand. */ if (! contains_reg_of_mode[rclass][PSEUDO_REGNO_MODE (i)] -#ifdef FORBIDDEN_INC_DEC_CLASSES - || (inc_dec_p && forbidden_inc_dec_class[rclass]) -#endif #ifdef CANNOT_CHANGE_MODE_CLASS || invalid_mode_change_p (i, (enum reg_class) rclass) #endif @@ -1760,13 +1723,9 @@ find_costs_and_classes (FILE *dump_file) rclass = cost_classes[k]; if (! ira_class_subset_p[rclass][regno_aclass[i]]) continue; - /* Ignore classes that are too small for this - operand or invalid for an operand that was - auto-incremented. */ + /* Ignore classes that are too small or invalid + for this operand. */ if (! contains_reg_of_mode[rclass][PSEUDO_REGNO_MODE (i)] -#ifdef FORBIDDEN_INC_DEC_CLASSES - || (inc_dec_p && forbidden_inc_dec_class[rclass]) -#endif #ifdef CANNOT_CHANGE_MODE_CLASS || invalid_mode_change_p (i, (enum reg_class) rclass) #endif @@ -1813,9 +1772,6 @@ find_costs_and_classes (FILE *dump_file) } } ira_free (regno_best_class); -#ifdef FORBIDDEN_INC_DEC_CLASSES - ira_free (in_inc_dec); -#endif } |