re PR rtl-optimization/38426 (Incorrect code produced with -momit-leaf-frame-pointer -fno-unit-at-a-time)

gcc/
	PR rtl-optimization/38426.
	* ira.c (ira): Set current_function_is_leaf earlier.

From-SVN: r143135
This commit is contained in:
Richard Sandiford 2009-01-06 21:58:46 +00:00 committed by Richard Sandiford
parent 3145cc701b
commit ace984c851
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
PR rtl-optimization/38426.
* ira.c (ira): Set current_function_is_leaf earlier.
2009-01-06 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/38722

View File

@ -1879,6 +1879,11 @@ ira (FILE *f)
if (warn_clobbered)
generate_setjmp_warnings ();
/* Determine if the current function is a leaf before running IRA
since this can impact optimizations done by the prologue and
epilogue thus changing register elimination offsets. */
current_function_is_leaf = leaf_function_p ();
rebuild_p = update_equiv_regs ();
#ifndef IRA_NO_OBSTACK
@ -1977,11 +1982,6 @@ ira (FILE *f)
delete_trivially_dead_insns (get_insns (), max_reg_num ());
max_regno = max_reg_num ();
/* Determine if the current function is a leaf before running IRA
since this can impact optimizations done by the prologue and
epilogue thus changing register elimination offsets. */
current_function_is_leaf = leaf_function_p ();
/* And the reg_equiv_memory_loc array. */
VEC_safe_grow (rtx, gc, reg_equiv_memory_loc_vec, max_regno);
memset (VEC_address (rtx, reg_equiv_memory_loc_vec), 0,