OSDN Git Service

2009-12-22 Paul Brook <paul@codesourcery.com>
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Dec 2009 12:24:32 +0000 (12:24 +0000)
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 22 Dec 2009 12:24:32 +0000 (12:24 +0000)
gcc/
* doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default.
* defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
* config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155396 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/spu/spu.h
gcc/defaults.h
gcc/doc/tm.texi

index 5176a32..ff75266 100644 (file)
@@ -1,3 +1,9 @@
+2009-12-22  Paul Brook <paul@codesourcery.com>
+
+       * doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default.
+       * defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
+       * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
+
 2009-12-21  Brian Hackett  <bhackett1024@gmail.com>
 
        * plugin.def: Rename pre-genericize event.
index 6d471ce..6d6a306 100644 (file)
@@ -272,7 +272,8 @@ targetm.resolve_overloaded_builtin = spu_resolve_overloaded_builtin;        \
 
 #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (LINK_REGISTER_REGNUM)
 
-#define ARG_POINTER_CFA_OFFSET(FNDECL) (-STACK_POINTER_OFFSET)
+#define ARG_POINTER_CFA_OFFSET(FNDECL) \
+  (crtl->args.pretend_args_size - STACK_POINTER_OFFSET)
 
 \f
 /* Stack Checking */
index 0363a46..8ca8896 100644 (file)
@@ -1086,7 +1086,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 
 /* On most machines, the CFA coincides with the first incoming parm.  */
 #ifndef ARG_POINTER_CFA_OFFSET
-#define ARG_POINTER_CFA_OFFSET(FNDECL) FIRST_PARM_OFFSET (FNDECL)
+#define ARG_POINTER_CFA_OFFSET(FNDECL) \
+  (FIRST_PARM_OFFSET (FNDECL) + crtl->args.pretend_args_size)
 #endif
 
 /* On most machines, we use the CFA as DW_AT_frame_base.  */
index 5616b48..4ae9e2e 100644 (file)
@@ -3340,7 +3340,8 @@ final value should coincide with that calculated by
 @code{INCOMING_FRAME_SP_OFFSET}.  Which is unfortunately not usable
 during virtual register instantiation.
 
-The default value for this macro is @code{FIRST_PARM_OFFSET (fundecl)},
+The default value for this macro is
+@code{FIRST_PARM_OFFSET (fundecl) + crtl->args.pretend_args_size},
 which is correct for most machines; in general, the arguments are found
 immediately before the stack frame.  Note that this is not the case on
 some targets that save registers into the caller's frame, such as SPARC