diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-02 19:34:49 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-02 19:34:49 +0000 |
commit | 05045a072cc34448f83d097552b59e834b8ca8cc (patch) | |
tree | 431668293bd4a0018f9e8856e4c146862a0c276d /gcc/ira-color.c | |
parent | c259678fdd8088668cb71fe2d6c00920ea24f815 (diff) | |
download | gcc-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.c | 5 |
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++) { |