ira-lives.c (process_single_reg_class_operands): Update the hard reg costs for all the hard registers desired by the single reg...
* ira-lives.c (process_single_reg_class_operands): Update the hard reg costs for all the hard registers desired by the single reg class operand. From-SVN: r153487
This commit is contained in:
parent
5ba0d527e1
commit
d5b5b6bca0
2 changed files with 13 additions and 4 deletions
|
@ -1,3 +1,9 @@
|
|||
2009-10-22 Jeff Law <law@redhat.com>
|
||||
|
||||
* ira-lives.c (process_single_reg_class_operands): Update the
|
||||
hard reg costs for all the hard registers desired by the
|
||||
single reg class operand.
|
||||
|
||||
2009-10-22 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* simplify-rtx.c (simplify_replace_fn_rtx): Add a fallback case
|
||||
|
|
|
@ -841,6 +841,7 @@ process_single_reg_class_operands (bool in_p, int freq)
|
|||
[ira_class_hard_regs[cl][0]]) >= 0
|
||||
&& reg_class_size[cl] <= (unsigned) CLASS_MAX_NREGS (cl, mode))
|
||||
{
|
||||
int i, size;
|
||||
cost
|
||||
= (freq
|
||||
* (in_p
|
||||
|
@ -848,10 +849,12 @@ process_single_reg_class_operands (bool in_p, int freq)
|
|||
: ira_get_register_move_cost (mode, cl, cover_class)));
|
||||
ira_allocate_and_set_costs
|
||||
(&ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a), cover_class, 0);
|
||||
ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a)
|
||||
[ira_class_hard_reg_index
|
||||
[cover_class][ira_class_hard_regs[cl][0]]]
|
||||
-= cost;
|
||||
size = ira_reg_class_nregs[cover_class][mode];
|
||||
for (i = 0; i < size; i++)
|
||||
ALLOCNO_CONFLICT_HARD_REG_COSTS (operand_a)
|
||||
[ira_class_hard_reg_index
|
||||
[cover_class][ira_class_hard_regs[cl][i]]]
|
||||
-= cost;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue