diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2a9f8ec479c..784128f44a81 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2010-07-12 Richard Sandiford + + * 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 * reload.h (target_reload): Add x_cached_reg_save_code and diff --git a/gcc/ira-int.h b/gcc/ira-int.h index f32c22bb1ca3..605350dc7207 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); diff --git a/gcc/ira.c b/gcc/ira.c index 59744d3d19b0..1a02736d2f8e 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -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