avr.h (machine_function): Add 'is_leaf' field.

* config/avr/avr.h (machine_function): Add 'is_leaf' field.
	* config/avr/avr.c (avr_regs_to_save): Compute 'machine->is_leaf'.
	Use 'machine->is_leaf' instead of 'leaf_func_p'.

From-SVN: r135231
This commit is contained in:
Anatoly Sokolov 2008-05-13 00:39:51 +04:00 committed by Anatoly Sokolov
parent ea0a7f390a
commit 4c75f70928
3 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2008-05-12 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.h (machine_function): Add 'is_leaf' field.
* config/avr/avr.c (avr_regs_to_save): Compute 'machine->is_leaf'.
Use 'machine->is_leaf' instead of 'leaf_func_p'.
2008-05-12 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (*sse_concatv4sf): Renamed to ...

View File

@ -471,7 +471,9 @@ avr_regs_to_save (HARD_REG_SET *set)
int reg, count;
int int_or_sig_p = (interrupt_function_p (current_function_decl)
|| signal_function_p (current_function_decl));
int leaf_func_p = leaf_function_p ();
if (!reload_completed)
cfun->machine->is_leaf = leaf_function_p ();
if (set)
CLEAR_HARD_REG_SET (*set);
@ -490,7 +492,7 @@ avr_regs_to_save (HARD_REG_SET *set)
if (fixed_regs[reg])
continue;
if ((int_or_sig_p && !leaf_func_p && call_used_regs[reg])
if ((int_or_sig_p && !cfun->machine->is_leaf && call_used_regs[reg])
|| (df_regs_ever_live_p (reg)
&& (int_or_sig_p || !call_used_regs[reg])
&& !(frame_pointer_needed

View File

@ -1026,6 +1026,9 @@ mmcu=*:-mmcu=%*}"
This is added to the cfun structure. */
struct machine_function GTY(())
{
/* 'true' - if the current function is a leaf function. */
int is_leaf;
/* 'true' - if current function is a naked function. */
int is_naked;