diff options
| author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-06 21:58:46 +0000 |
|---|---|---|
| committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-06 21:58:46 +0000 |
| commit | 6b80674361ae3ce4d8570d6af14237eaac135938 (patch) | |
| tree | c4301cbdf655765fd7d6cb61637ee0e9b20c8114 | |
| parent | fca84b2c94a382a9180400e9b7595bfc49429103 (diff) | |
| download | ppe42-gcc-6b80674361ae3ce4d8570d6af14237eaac135938.tar.gz ppe42-gcc-6b80674361ae3ce4d8570d6af14237eaac135938.zip | |
gcc/
PR rtl-optimization/38426.
* ira.c (ira): Set current_function_is_leaf earlier.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143135 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/ira.c | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8dafe634ff3..942d733ed53 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/ira.c b/gcc/ira.c index 2273512ec23..5830bae1634 100644 --- a/gcc/ira.c +++ b/gcc/ira.c @@ -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, |

