diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/config/arm/arm.c | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 365cd54814a..29cc5e4b130 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-03-15 Paul Brook <paul@codesourcery.com> + + * config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp. + 2004-03-15 Gabriel Dos Reis <gdr@integrable-solutions.net> * c-pretty-print.c (pp_c_semicolon): Fix formatting. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 4cada0c10eb..af59d8328b1 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -13110,6 +13110,12 @@ thumb_expand_prologue (void) REG_NOTES (insn)); } } + /* If the frame pointer is needed, emit a special barrier that + will prevent the scheduler from moving stores to the frame + before the stack adjustment. */ + if (frame_pointer_needed) + emit_insn (gen_stack_tie (stack_pointer_rtx, + hard_frame_pointer_rtx)); } if (current_function_profile || TARGET_NO_SCHED_PRO) |

