Commit 6ac9cbc5 by Kaz Kojima

sh.c (calc_live_regs): Use current_function_saves_all_registers instead of...

	* 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.

From-SVN: r128408
parent 36798514
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.
......@@ -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
......
......@@ -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)
......
......@@ -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);
}")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment