diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2010-07-12 19:03:50 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2010-07-12 19:03:50 +0000 |
commit | 15e7b94f185a0eb2cb8a0b0fbf4c8d3025f1b40d (patch) | |
tree | 509b4507d79280dce679e79dda34e3da0d380119 /gcc | |
parent | cc14227fd9aadda127a94a28d34eaa4249df3f12 (diff) | |
download | gcc-15e7b94f185a0eb2cb8a0b0fbf4c8d3025f1b40d.zip gcc-15e7b94f185a0eb2cb8a0b0fbf4c8d3025f1b40d.tar.gz gcc-15e7b94f185a0eb2cb8a0b0fbf4c8d3025f1b40d.tar.bz2 |
ira-int.h (target_ira_int): Add x_ira_prohibited_mode_move_regs and...
gcc/
* 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.
From-SVN: r162107
Diffstat (limited to 'gcc')
-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 |