diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-09-12 13:28:37 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2017-09-12 13:28:37 +0000 |
commit | c1b52c0ef6eeb91b5326eee18bb2652e3f732162 (patch) | |
tree | c04b3abede6f4595566e4d3e30cd4ddcc6d6aa53 /gcc/ira-costs.c | |
parent | 4edd6298d853890dca6a30cfdf209e3e89a2a533 (diff) | |
download | gcc-c1b52c0ef6eeb91b5326eee18bb2652e3f732162.zip gcc-c1b52c0ef6eeb91b5326eee18bb2652e3f732162.tar.gz gcc-c1b52c0ef6eeb91b5326eee18bb2652e3f732162.tar.bz2 |
Make more use of in_hard_reg_set_p
An upcoming patch will convert hard_regno_nregs into an inline
function, which in turn allows hard_regno_nregs to be used as the
name of a targetm field. This patch rewrites a use that can use
in_hard_reg_set_p instead.
2017-09-12 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* ira-costs.c (record_operand_costs): Use in_hard_reg_set_p
instead of hard_regno_nregs.
From-SVN: r252013
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r-- | gcc/ira-costs.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index 187802f..714bdbd 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -1386,7 +1386,7 @@ record_operand_costs (rtx_insn *insn, enum reg_class *pref) cost_classes_t cost_classes_ptr = regno_cost_classes[regno]; enum reg_class *cost_classes = cost_classes_ptr->classes; reg_class_t rclass; - int k, nr; + int k; i = regno == (int) REGNO (src) ? 1 : 0; for (k = cost_classes_ptr->num - 1; k >= 0; k--) @@ -1398,18 +1398,9 @@ record_operand_costs (rtx_insn *insn, enum reg_class *pref) { if (reg_class_size[rclass] == 1) op_costs[i]->cost[k] = -frequency; - else - { - for (nr = 0; - nr < hard_regno_nregs[other_regno][mode]; - nr++) - if (! TEST_HARD_REG_BIT (reg_class_contents[rclass], - other_regno + nr)) - break; - - if (nr == hard_regno_nregs[other_regno][mode]) - op_costs[i]->cost[k] = -frequency; - } + else if (in_hard_reg_set_p (reg_class_contents[rclass], + mode, other_regno)) + op_costs[i]->cost[k] = -frequency; } } } |