diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-12-09 10:00:25 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-12-09 10:00:25 +0000 |
commit | 63dae96b55da691bcdae95170dce81dcc79d294e (patch) | |
tree | 8004babdc793f99c4704ed369b977399b980bd34 /gcc/ira-costs.c | |
parent | 87487e419baa3de521dee4938037e8834c47700c (diff) | |
download | gcc-63dae96b55da691bcdae95170dce81dcc79d294e.tar.gz |
2010-12-09 Richard Guenther <rguenther@suse.de>
* rtl.h (invalid_mode_change_p): Adjust prototype.
* reginfo.c (invalid_mode_change_p): Remove from argument.
* ira-costs.c (print_allocno_costs): Adjust callers.
(find_costs_and_classes): Likewise.
2010-12-09 Richard Guenther <rguenther@suse.de>
* ira.c (ira): Do not call finish_subregs_of_mode.
* ira-costs.c (finish_costs): Call finish_subregs_of_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167631 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-costs.c')
-rw-r--r-- | gcc/ira-costs.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c index 2a7a9a8c418..2329613ffa8 100644 --- a/gcc/ira-costs.c +++ b/gcc/ira-costs.c @@ -1093,8 +1093,7 @@ print_allocno_costs (FILE *f) && (! in_inc_dec[i] || ! forbidden_inc_dec_class[rclass]) #endif #ifdef CANNOT_CHANGE_MODE_CLASS - && ! invalid_mode_change_p (regno, (enum reg_class) rclass, - PSEUDO_REGNO_MODE (regno)) + && ! invalid_mode_change_p (regno, (enum reg_class) rclass) #endif ) { @@ -1131,8 +1130,7 @@ print_pseudo_costs (FILE *f) && (! in_inc_dec[regno] || ! forbidden_inc_dec_class[rclass]) #endif #ifdef CANNOT_CHANGE_MODE_CLASS - && ! invalid_mode_change_p (regno, (enum reg_class) rclass, - PSEUDO_REGNO_MODE (regno)) + && ! invalid_mode_change_p (regno, (enum reg_class) rclass) #endif ) fprintf (f, " %s:%d", reg_class_names[rclass], @@ -1336,8 +1334,7 @@ find_costs_and_classes (FILE *dump_file) || (inc_dec_p && forbidden_inc_dec_class[rclass]) #endif #ifdef CANNOT_CHANGE_MODE_CLASS - || invalid_mode_change_p (i, (enum reg_class) rclass, - PSEUDO_REGNO_MODE (i)) + || invalid_mode_change_p (i, (enum reg_class) rclass) #endif ) continue; @@ -1412,8 +1409,7 @@ find_costs_and_classes (FILE *dump_file) || (inc_dec_p && forbidden_inc_dec_class[rclass]) #endif #ifdef CANNOT_CHANGE_MODE_CLASS - || invalid_mode_change_p (i, (enum reg_class) rclass, - PSEUDO_REGNO_MODE (i)) + || invalid_mode_change_p (i, (enum reg_class) rclass) #endif ) ; @@ -1699,6 +1695,7 @@ init_costs (void) static void finish_costs (void) { + finish_subregs_of_mode (); ira_free (regno_equiv_gains); ira_free (regno_cover_class); ira_free (pref_buffer); |