re PR rtl-optimization/49936 (IRA handles CANNOT_CHANGE_MODE_CLASS poorly, + spills to memory on 4.7)
2011-08-19 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/49936 * ira.c (ira_init_register_move_cost): Ignore too small subclasses for calculation of max register move costs. From-SVN: r177916
This commit is contained in:
parent
02ee3d3153
commit
3bb19a90c8
@ -1,3 +1,9 @@
|
||||
2011-08-19 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR rtl-optimization/49936
|
||||
* ira.c (ira_init_register_move_cost): Ignore too small subclasses
|
||||
for calculation of max register move costs.
|
||||
|
||||
2011-08-19 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* c-parser.c (c_parser_postfix_expression): Convert operands of
|
||||
|
@ -1501,6 +1501,10 @@ ira_init_register_move_cost (enum machine_mode mode)
|
||||
sizeof (move_table) * N_REG_CLASSES);
|
||||
for (cl1 = 0; cl1 < N_REG_CLASSES; cl1++)
|
||||
{
|
||||
/* Some subclasses are to small to have enough registers to hold
|
||||
a value of MODE. Just ignore them. */
|
||||
if (! contains_reg_of_mode[cl1][mode])
|
||||
continue;
|
||||
COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl1]);
|
||||
AND_COMPL_HARD_REG_SET (temp_hard_regset, no_unit_alloc_regs);
|
||||
if (hard_reg_set_empty_p (temp_hard_regset))
|
||||
|
Loading…
Reference in New Issue
Block a user