]> gcc.gnu.org Git - gcc.git/commitdiff
hooks.c (hook_int_void_no_regs): Rename from hook_reg_class_void_no_regs; change...
authorRichard Henderson <rth@redhat.com>
Fri, 20 Jun 2003 17:30:05 +0000 (10:30 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 20 Jun 2003 17:30:05 +0000 (10:30 -0700)
        * hooks.c (hook_int_void_no_regs): Rename from
        hook_reg_class_void_no_regs; change return type.
        * hooks.h: Update.
        * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
        * target.h (branch_target_register_class): Change return type to int.
        Add documentation.
        * config/sh/sh.c (sh_target_reg_class): Change return type.
        * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.

From-SVN: r68275

gcc/ChangeLog
gcc/config/sh/sh.c
gcc/doc/tm.texi
gcc/hooks.c
gcc/hooks.h
gcc/target-def.h
gcc/target.h

index 1cb9a03091f856b403cbfcaf0cbef3349012e0e2..99b1289d4f903c0c423f86212825425016724fe4 100644 (file)
@@ -1,3 +1,14 @@
+2003-06-20  Richard Henderson  <rth@redhat.com>
+
+       * hooks.c (hook_int_void_no_regs): Rename from
+       hook_reg_class_void_no_regs; change return type.
+       * hooks.h: Update.
+       * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
+       * target.h (branch_target_register_class): Change return type to int.
+       Add documentation.
+       * config/sh/sh.c (sh_target_reg_class): Change return type.
+       * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
+
 2003-06-20  Andreas Tobler <toa@pop.agri.ch>
 
        * c-format.c: Change _Bool to bool reverting part of the last
index 1fca14fbc60eba8f6f57c48dfe7ddb1bb6ee9ef6..070e4093e205fec222916681a2582ee90883c544 100644 (file)
@@ -211,7 +211,7 @@ static int sh_issue_rate PARAMS ((void));
 static bool sh_function_ok_for_sibcall PARAMS ((tree, tree));
 
 static bool sh_cannot_modify_jumps_p PARAMS ((void));
-static enum reg_class sh_target_reg_class (void);
+static int sh_target_reg_class (void);
 static bool sh_optimize_target_register_callee_saved (bool);
 static bool sh_ms_bitfield_layout_p PARAMS ((tree));
 
@@ -7804,7 +7804,7 @@ sh_cannot_modify_jumps_p ()
   return (TARGET_SHMEDIA && (reload_in_progress || reload_completed));
 }
 
-static enum reg_class
+static int
 sh_target_reg_class (void)
 {
   return TARGET_SHMEDIA ? TARGET_REGS : NO_REGS;
index e4cbcadf19592d08f3fe9b65c09c8596e3bf2600..355ea4bb32638531450edfd613110eed4afd337a 100644 (file)
@@ -9134,7 +9134,7 @@ cannot_modify_jumps_past_reload_p ()
 @end smallexample
 @end deftypefn
 
-@deftypefn {Target Hook} enum reg_class TARGET_BRANCH_TARGET_REGISTER_CLASS (void)
+@deftypefn {Target Hook} int TARGET_BRANCH_TARGET_REGISTER_CLASS (void)
 This target hook returns a register class for which branch target register
 optimizations should be applied.  All registers in this class should be
 usable interchangably.  After reload, registers in this class will be
index 97dd2c9b828bd3884afbb73b4b923497a55c9407..e183a11766ee870ce78d1e944b764e5312fe588d 100644 (file)
@@ -41,9 +41,9 @@ hook_bool_void_false ()
   return false;
 }
 
-/* The same, but formally returning an enum reg_class.  */
-enum reg_class
-hook_reg_class_void_no_regs (void)
+/* The same, but formally returning NO_REGS.  */
+int
+hook_int_void_no_regs (void)
 {
   return NO_REGS;
 }
index e5dbcc6eebc90be3d449c4515e4c6c4cdb6b4c51..044654acb38d88ed97cd9124d02a096e4ad34aed 100644 (file)
@@ -23,15 +23,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 #define GCC_HOOKS_H
 
 bool hook_bool_void_false PARAMS ((void));
-
-/* Check if tm.h has been included, since ISO C does not allow forward
-   definitions for enums, and making hooks.h dependent on tm.h would create
-   unnecessary dependencies where no hook declaration involving
-   enum_reg_class is needed.  */
-#ifdef REG_CLASS_CONTENTS
-enum reg_class hook_reg_class_void_no_regs (void);
-#endif
-
 bool hook_bool_bool_false (bool);
 bool hook_bool_tree_false PARAMS ((tree));
 bool hook_bool_tree_hwi_hwi_tree_false
@@ -51,6 +42,7 @@ int hook_int_tree_tree_1 PARAMS ((tree, tree));
 int hook_int_rtx_0 PARAMS ((rtx));
 int hook_int_void_0 (void);
 int hook_int_size_t_constcharptr_int_0 (size_t, const char *, int);
+int hook_int_void_no_regs (void);
 
 bool default_can_output_mi_thunk_no_vcall
   PARAMS ((tree, HOST_WIDE_INT, HOST_WIDE_INT, tree));
index d6950e4b3480bbb7df46fadb0ec1faf1d3d7f5e6..31970222cf1f967fca878c68e9661a5b05947d90 100644 (file)
@@ -282,7 +282,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 /* In hook.c.  */
 #define TARGET_CANNOT_MODIFY_JUMPS_P hook_bool_void_false
-#define TARGET_BRANCH_TARGET_REGISTER_CLASS hook_reg_class_void_no_regs
+#define TARGET_BRANCH_TARGET_REGISTER_CLASS hook_int_void_no_regs
 #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false
 #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false
 #define TARGET_CANNOT_COPY_INSN_P NULL
index 4ba369d7d3e0487671337c8a65beaf5e73f2eea7..f693868eb5794f28368e57164d2ca83e5e551828 100644 (file)
@@ -296,8 +296,15 @@ struct gcc_target
      not, at the current point in the compilation.  */
   bool (* cannot_modify_jumps_p) PARAMS ((void));
 
-  enum reg_class (* branch_target_register_class) PARAMS ((void));
-  bool (* branch_target_register_callee_saved) PARAMS ((bool));
+  /* Return a register class for which branch target register
+     optimizations should be applied.  */
+  int (* branch_target_register_class) PARAMS ((void));
+
+  /* Return true if branch target register optimizations should include
+     callee-saved registers that are not already live during the current
+     function.  AFTER_PE_GEN is true if prologues and epilogues have
+     already been generated.  */
+  bool (* branch_target_register_callee_saved) PARAMS ((bool after_pe_gen));
 
   /* True if the constant X cannot be placed in the constant pool.  */
   bool (* cannot_force_const_mem) PARAMS ((rtx));
This page took 0.111166 seconds and 5 git commands to generate.