aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2011-08-23 23:06:04 +0000
committerVladimir Makarov <vmakarov@redhat.com>2011-08-23 23:06:04 +0000
commita47e8e1ec3a52cc718577a84c31eb120e8e7003b (patch)
treef6a4acffaccebdbba5d13a56c6e3a3393ea92a29 /gcc/ira.c
parent444da2991a8a24d536aecb36b3374a914ed63b97 (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.c2
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);