aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2010-07-12 19:03:50 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2010-07-12 19:03:50 +0000
commit15e7b94f185a0eb2cb8a0b0fbf4c8d3025f1b40d (patch)
tree509b4507d79280dce679e79dda34e3da0d380119 /gcc
parentcc14227fd9aadda127a94a28d34eaa4249df3f12 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/ira-int.h15
-rw-r--r--gcc/ira.c10
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);
diff --git a/gcc/ira.c b/gcc/ira.c
index 59744d3..1a02736 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