OSDN Git Service

* config/sh/sh.c (calc_live_regs): Use
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Sep 2007 03:46:53 +0000 (03:46 +0000)
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Sep 2007 03:46:53 +0000 (03:46 +0000)
current_function_saves_all_registers instead of
current_function_has_nonlocal_label.
(sh_allocate_initial_value): Likewise.
(sh_get_pr_initial_val): Likewise.
* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Likewise.
* config/sh/sh.md (load_ra): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128408 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md

index 125b6db..bd983fb 100644 (file)
@@ -1,3 +1,13 @@
+2007-09-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (calc_live_regs): Use
+       current_function_saves_all_registers instead of
+       current_function_has_nonlocal_label.
+       (sh_allocate_initial_value): Likewise.
+       (sh_get_pr_initial_val): Likewise.
+       * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Likewise.
+       * config/sh/sh.md (load_ra): Likewise.
+
 2007-09-12  Hans-Peter Nilsson  <hp@axis.com>
 
        * config/cris/t-linux (LIMITS_H_TEST): Only define if not inhibit_libc.
index ad9dd22..36cc9ff 100644 (file)
@@ -5873,7 +5873,7 @@ calc_live_regs (HARD_REG_SET *live_regs_mask)
   if (TARGET_SHCOMPACT
       && ((current_function_args_info.call_cookie
           & ~ CALL_COOKIE_RET_TRAMP (1))
-         || current_function_has_nonlocal_label))
+         || current_function_saves_all_registers))
     pr_live = 1;
   has_call = TARGET_SHMEDIA ? ! leaf_function_p () : pr_live;
   for (count = 0, reg = FIRST_PSEUDO_REGISTER; reg-- != 0; )
@@ -8944,7 +8944,7 @@ sh_allocate_initial_value (rtx hard_reg)
          && ! (TARGET_SHCOMPACT
                && ((current_function_args_info.call_cookie
                     & ~ CALL_COOKIE_RET_TRAMP (1))
-                   || current_function_has_nonlocal_label)))
+                   || current_function_saves_all_registers)))
        x = hard_reg;
       else
        x = gen_frame_mem (Pmode, return_address_pointer_rtx);
@@ -10332,7 +10332,7 @@ sh_get_pr_initial_val (void)
   if (TARGET_SHCOMPACT
       && ((current_function_args_info.call_cookie
           & ~ CALL_COOKIE_RET_TRAMP (1))
-         || current_function_has_nonlocal_label))
+         || current_function_saves_all_registers))
     return gen_frame_mem (SImode, return_address_pointer_rtx);
 
   /* If we haven't finished rtl generation, there might be a nonlocal label
index 8f299b7..0583a8a 100644 (file)
@@ -1365,7 +1365,7 @@ extern char sh_additional_register_names[ADDREGNAMES_SIZE] \
 #define DEFAULT_PCC_STRUCT_RETURN 0
 
 #define SHMEDIA_REGS_STACK_ADJUST() \
-  (TARGET_SHCOMPACT && current_function_has_nonlocal_label \
+  (TARGET_SHCOMPACT && current_function_saves_all_registers \
    ? (8 * (/* r28-r35 */ 8 + /* r44-r59 */ 16 + /* tr5-tr7 */ 3) \
       + (TARGET_FPU_ANY ? 4 * (/* fr36 - fr63 */ 28) : 0)) \
    : 0)
index 4269969..591bb70 100644 (file)
@@ -5023,7 +5023,7 @@ label:
   [(set (match_dup 0) (match_dup 1))]
   "
 {
-  if (TARGET_SHCOMPACT && current_function_has_nonlocal_label)
+  if (TARGET_SHCOMPACT && current_function_saves_all_registers)
     operands[1] = gen_frame_mem (SImode, return_address_pointer_rtx);
 }")