aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mep/mep.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bcccc3a..a4d7594 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-07 DJ Delorie <dj@redhat.com>
+
+ PR c/42312
+ * config/mep/mep.c (mep_expand_prologue): Set
+ really_need_stack_frame after frame_size is set.
+
2009-12-07 Richard Henderson <rth@redhat.com>
PR rtl-opt/42269
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index dcf5362..54d21c8 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -2853,7 +2853,7 @@ mep_expand_prologue (void)
int i, rss, sp_offset = 0;
int reg_save_size;
int frame_size;
- int really_need_stack_frame = frame_size;
+ int really_need_stack_frame;
/* We must not allow register renaming in interrupt functions,
because that invalidates the correctness of the set of call-used
@@ -2867,6 +2867,7 @@ mep_expand_prologue (void)
reg_save_size = mep_elimination_offset (ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM);
frame_size = mep_elimination_offset (FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM);
+ really_need_stack_frame = frame_size;
really_need_stack_frame |= mep_assign_save_slots (reg_save_size);