diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2009-03-19 03:52:58 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2009-03-19 03:52:58 +0000 |
commit | 8ef20026dc352e6a1fccae8052bf7bdc009742bc (patch) | |
tree | d0667ba12bf974f168b7902596da504e7947fb21 | |
parent | f75d61d0f3447e64e7f401d48e1f49575d5c805c (diff) | |
download | gcc-8ef20026dc352e6a1fccae8052bf7bdc009742bc.zip gcc-8ef20026dc352e6a1fccae8052bf7bdc009742bc.tar.gz gcc-8ef20026dc352e6a1fccae8052bf7bdc009742bc.tar.bz2 |
re PR middle-end/38609 (gcc.c-torture/execute/built-in-setjmp.c execute -O2 and above)
PR middle-end/38609
* config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
functions with dynamic stack-pointer adjustments.
From-SVN: r144951
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/cris/cris.h | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 14acc11..9892f8f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-03-19 Hans-Peter Nilsson <hp@axis.com> + + PR middle-end/38609 + * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all + functions with dynamic stack-pointer adjustments. + 2009-03-19 Ben Elliston <bje@au.ibm.com> * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h index eae8b48..4982259 100644 --- a/gcc/config/cris/cris.h +++ b/gcc/config/cris/cris.h @@ -851,8 +851,9 @@ enum reg_class /* Node: Elimination */ /* Really only needed if the stack frame has variable length (alloca - or variable sized local arguments (GNU C extension). */ -#define FRAME_POINTER_REQUIRED 0 + or variable sized local arguments (GNU C extension). See PR39499 and + PR38609 for the reason this isn't just 0. */ +#define FRAME_POINTER_REQUIRED (!current_function_sp_is_unchanging) #define ELIMINABLE_REGS \ {{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \ |