diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2011-08-23 23:06:04 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2011-08-23 23:06:04 +0000 |
commit | d7b177038864d2e40419bcddbdfaca3b1644d175 (patch) | |
tree | f6a4acffaccebdbba5d13a56c6e3a3393ea92a29 | |
parent | 3d3aae5b2ef82d57ecc1af9de163bf9b024bf7d4 (diff) | |
download | gcc-d7b177038864d2e40419bcddbdfaca3b1644d175.zip gcc-d7b177038864d2e40419bcddbdfaca3b1644d175.tar.gz gcc-d7b177038864d2e40419bcddbdfaca3b1644d175.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ira.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b8ba62..0e8c707 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> * 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 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; COPY_HARD_REG_SET (temp_hard_regset, reg_class_contents[cl1]); AND_COMPL_HARD_REG_SET (temp_hard_regset, no_unit_alloc_regs); |