ira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max_nregs and ira_available_class_regs.
2011-08-23 Vladimir Makarov <vmakarov@redhat.com> * ira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max_nregs and ira_available_class_regs. From-SVN: r178019
This commit is contained in:
parent
3d3aae5b2e
commit
d7b1770388
|
@ -1,3 +1,8 @@
|
||||||
|
2011-08-23 Vladimir Makarov <vmakarov@redhat.com>
|
||||||
|
|
||||||
|
* ira.c (ira_init_register_move_cost): Check small subclasses
|
||||||
|
through ira_reg_class_max_nregs and ira_available_class_regs.
|
||||||
|
|
||||||
2011-08-23 Uros Bizjak <ubizjak@gmail.com>
|
2011-08-23 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
* config/i386/constraints.md (Yp): New register constraint.
|
* config/i386/constraints.md (Yp): New register constraint.
|
||||||
|
|
|
@ -1503,7 +1503,7 @@ ira_init_register_move_cost (enum machine_mode mode)
|
||||||
{
|
{
|
||||||
/* Some subclasses are to small to have enough registers to hold
|
/* Some subclasses are to small to have enough registers to hold
|
||||||
a value of MODE. Just ignore them. */
|
a value of MODE. Just ignore them. */
|
||||||
if (! contains_reg_of_mode[cl1][mode])
|
if (ira_reg_class_max_nregs[cl1][mode] > ira_available_class_regs[cl1])
|
||||||
continue;
|
continue;
|
||||||
COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl1]);
|
COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl1]);
|
||||||
AND_COMPL_HARD_REG_SET (temp_hard_regset, no_unit_alloc_regs);
|
AND_COMPL_HARD_REG_SET (temp_hard_regset, no_unit_alloc_regs);
|
||||||
|
|
Loading…
Reference in New Issue