diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ira-int.h | 15 | ||||
-rw-r--r-- | gcc/ira.c | 10 |
3 files changed, 20 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2a9f8e..784128f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2010-07-12 Richard Sandiford <rdsandiford@googlemail.com> + * ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs + and x_ira_prohibited_mode_move_regs_initialized_p. + (ira_prohibited_mode_move_regs): Redefine as a macro. + * ira.c (ira_prohibited_mode_move_regs): Delete. + (ira_prohibited_mode_move_regs_initialized_p): Redefine as a macro. + +2010-07-12 Richard Sandiford <rdsandiford@googlemail.com> + * reload.h (target_reload): Add x_cached_reg_save_code and x_cached_reg_restore_code. * caller-save.c (cached_reg_save_code, cached_reg_restore_code): diff --git a/gcc/ira-int.h b/gcc/ira-int.h index f32c22b..605350d 100644 --- a/gcc/ira-int.h +++ b/gcc/ira-int.h @@ -823,6 +823,14 @@ struct target_ira_int { (excluding the class itself. Non-allocatable registers are excluded from the consideration;. */ enum reg_class x_alloc_reg_class_subclasses[N_REG_CLASSES][N_REG_CLASSES]; + + /* Array whose values are hard regset of hard registers for which + move of the hard register in given mode into itself is + prohibited. */ + HARD_REG_SET x_ira_prohibited_mode_move_regs[NUM_MACHINE_MODES]; + + /* Flag of that the above array has been initialized. */ + bool x_ira_prohibited_mode_move_regs_initialized_p; }; extern struct target_ira_int default_target_ira_int; @@ -860,14 +868,11 @@ extern struct target_ira_int *this_target_ira_int; (this_target_ira_int->x_ira_reg_class_super_classes) #define ira_reg_class_union \ (this_target_ira_int->x_ira_reg_class_union) +#define ira_prohibited_mode_move_regs \ + (this_target_ira_int->x_ira_prohibited_mode_move_regs) /* ira.c: */ -/* Array whose values are hard regset of hard registers for which - move of the hard register in given mode into itself is - prohibited. */ -extern HARD_REG_SET ira_prohibited_mode_move_regs[NUM_MACHINE_MODES]; - extern void *ira_allocate (size_t); extern void *ira_reallocate (void *, size_t); extern void ira_free (void *addr); @@ -1195,14 +1195,8 @@ ira_finish_once (void) } - -/* Array whose values are hard regset of hard registers for which - move of the hard register in given mode into itself is - prohibited. */ -HARD_REG_SET ira_prohibited_mode_move_regs[NUM_MACHINE_MODES]; - -/* Flag of that the above array has been initialized. */ -static bool ira_prohibited_mode_move_regs_initialized_p = false; +#define ira_prohibited_mode_move_regs_initialized_p \ + (this_target_ira_int->x_ira_prohibited_mode_move_regs_initialized_p) /* Set up IRA_PROHIBITED_MODE_MOVE_REGS. */ static void |