diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2011-08-23 23:06:04 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@redhat.com> | 2011-08-23 23:06:04 +0000 |
commit | a47e8e1ec3a52cc718577a84c31eb120e8e7003b (patch) | |
tree | f6a4acffaccebdbba5d13a56c6e3a3393ea92a29 /gcc/ira.c | |
parent | 444da2991a8a24d536aecb36b3374a914ed63b97 (diff) |
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@178019 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira.c')
-rw-r--r-- | gcc/ira.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ira.c b/gcc/ira.c index 785478f7457..2ecb5a302b6 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -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); |