mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 01:20:31 +08:00
rtl.h (invalid_mode_change_p): Adjust prototype.
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. From-SVN: r167631
This commit is contained in:
parent
27037b5f7d
commit
fa1fabcbbc
@ -1,3 +1,15 @@
|
||||
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.
|
||||
|
||||
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 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
|
||||
|
@ -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);
|
||||
|
@ -3279,8 +3279,6 @@ ira (FILE *f)
|
||||
|
||||
reload_completed = !reload (get_insns (), ira_conflicts_p);
|
||||
|
||||
finish_subregs_of_mode ();
|
||||
|
||||
timevar_pop (TV_RELOAD);
|
||||
|
||||
timevar_push (TV_IRA);
|
||||
|
@ -1338,12 +1338,12 @@ init_subregs_of_mode (void)
|
||||
mode. */
|
||||
bool
|
||||
invalid_mode_change_p (unsigned int regno,
|
||||
enum reg_class rclass ATTRIBUTE_UNUSED,
|
||||
enum machine_mode from)
|
||||
enum reg_class rclass ATTRIBUTE_UNUSED)
|
||||
{
|
||||
struct subregs_of_mode_node dummy, *node;
|
||||
unsigned int to;
|
||||
unsigned char mask;
|
||||
enum machine_mode from = PSEUDO_REGNO_MODE (regno);
|
||||
|
||||
gcc_assert (subregs_of_mode);
|
||||
dummy.block = regno & -8;
|
||||
|
@ -2455,8 +2455,7 @@ extern void init_reg_sets (void);
|
||||
extern void regclass (rtx, int);
|
||||
extern void reg_scan (rtx, unsigned int);
|
||||
extern void fix_register (const char *, int, int);
|
||||
extern bool invalid_mode_change_p (unsigned int, enum reg_class,
|
||||
enum machine_mode);
|
||||
extern bool invalid_mode_change_p (unsigned int, enum reg_class);
|
||||
|
||||
/* In reorg.c */
|
||||
extern void dbr_schedule (rtx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user