summaryrefslogtreecommitdiff
path: root/gcc/ira-color.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-02 19:34:49 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-02 19:34:49 +0000
commit05045a072cc34448f83d097552b59e834b8ca8cc (patch)
tree431668293bd4a0018f9e8856e4c146862a0c276d /gcc/ira-color.c
parentc259678fdd8088668cb71fe2d6c00920ea24f815 (diff)
downloadgcc-05045a072cc34448f83d097552b59e834b8ca8cc.tar.gz
gcc/
* ira-int.h (target_ira_int): Add x_ira_useful_class_mode_regs. (ira_useful_class_mode_regs): New macro. * ira.c (clarify_prohibited_class_mode_regs): Set up ira_useful_class_mode_regs. * ira-color.c (setup_profitable_hard_regs): Use it to initialise profitable_hard_regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191996 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-color.c')
-rw-r--r--gcc/ira-color.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index ea933be9990..fc2e4e8b29b 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -1023,10 +1023,9 @@ setup_profitable_hard_regs (void)
CLEAR_HARD_REG_SET (data->profitable_hard_regs);
else
{
+ mode = ALLOCNO_MODE (a);
COPY_HARD_REG_SET (data->profitable_hard_regs,
- reg_class_contents[aclass]);
- AND_COMPL_HARD_REG_SET (data->profitable_hard_regs,
- ira_no_alloc_regs);
+ ira_useful_class_mode_regs[aclass][mode]);
nobj = ALLOCNO_NUM_OBJECTS (a);
for (k = 0; k < nobj; k++)
{