reload.h (target_reload): Add x_cached_reg_save_code and x_cached_reg_restore_code.
authorRichard Sandiford <rdsandiford@googlemail.com>
Mon, 12 Jul 2010 19:03:43 +0000 (19:03 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 12 Jul 2010 19:03:43 +0000 (19:03 +0000)
gcc/
* 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):
Redefine as macros.

From-SVN: r162106

gcc/ChangeLog
gcc/caller-save.c
gcc/reload.h

index be54183..e2a9f8e 100644 (file)
@@ -1,5 +1,12 @@
 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):
+       Redefine as macros.
+
+2010-07-12  Richard Sandiford  <rdsandiford@googlemail.com>
+
        * Makefile.in (target-globals.o): Depend on builtins.h.
        * builtins.h: New file.
        * builtins.c: Include builtins.h.
index 3bd41f2..d95e66c 100644 (file)
@@ -45,6 +45,10 @@ along with GCC; see the file COPYING3.  If not see
 
 #define regno_save_mode \
   (this_target_reload->x_regno_save_mode)
+#define cached_reg_save_code \
+  (this_target_reload->x_cached_reg_save_code)
+#define cached_reg_restore_code \
+  (this_target_reload->x_cached_reg_restore_code)
 
 /* For each hard register, a place on the stack where it can be saved,
    if needed.  */
@@ -58,17 +62,6 @@ static int save_slots_num;
 /* Allocated slots so far.  */
 static rtx save_slots[FIRST_PSEUDO_REGISTER];
 
-/* We will only make a register eligible for caller-save if it can be
-   saved in its widest mode with a simple SET insn as long as the memory
-   address is valid.  We record the INSN_CODE is those insns here since
-   when we emit them, the addresses might not be valid, so they might not
-   be recognized.  */
-
-static int
-  cached_reg_save_code[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
-static int
-  cached_reg_restore_code[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
-
 /* Set of hard regs currently residing in save area (during insn scan).  */
 
 static HARD_REG_SET hard_regs_saved;
index 16d52d9..01bbfb1 100644 (file)
@@ -182,6 +182,14 @@ struct target_reload {
   enum machine_mode (x_regno_save_mode
                     [FIRST_PSEUDO_REGISTER]
                     [MAX_MOVE_MAX / MIN_UNITS_PER_WORD + 1]);
+
+  /* We will only make a register eligible for caller-save if it can be
+     saved in its widest mode with a simple SET insn as long as the memory
+     address is valid.  We record the INSN_CODE is those insns here since
+     when we emit them, the addresses might not be valid, so they might not
+     be recognized.  */
+  int x_cached_reg_save_code[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
+  int x_cached_reg_restore_code[FIRST_PSEUDO_REGISTER][MAX_MACHINE_MODE];
 };
 
 extern struct target_reload default_target_reload;