summaryrefslogtreecommitdiff
path: root/gcc/config/cris
diff options
context:
space:
mode:
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-19 03:52:58 +0000
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-19 03:52:58 +0000
commitc5fe58d7b0816a2ca4a0a08d457c769dbd1df93e (patch)
treed0667ba12bf974f168b7902596da504e7947fb21 /gcc/config/cris
parent84456d31451a76a672598e399e8d6eed89bea1c6 (diff)
downloadgcc-c5fe58d7b0816a2ca4a0a08d457c769dbd1df93e.tar.gz
PR middle-end/38609
* config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all functions with dynamic stack-pointer adjustments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144951 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/cris')
-rw-r--r--gcc/config/cris/cris.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index eae8b484904..49822598f45 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}, \