aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@gcc.gnu.org>2001-07-02 20:02:54 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2001-07-02 20:02:54 +0000
commit918a61248dc591d88ca58507f8bdbad20edbe404 (patch)
treecae74d78e3737ad33b64159b25467f53d8953b26 /gcc/doc
parentf4ef873c3108a163d7789b137b391c3853c25011 (diff)
downloadgcc-918a61248dc591d88ca58507f8bdbad20edbe404.zip
gcc-918a61248dc591d88ca58507f8bdbad20edbe404.tar.gz
gcc-918a61248dc591d88ca58507f8bdbad20edbe404.tar.bz2
[multiple changes]
2001-07-02 Geoffrey Keating <geoffk@redhat.com> * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE. * expr.c (emit_move_insn_1): Deal with non-default STACK_PUSH_CODE. * expr.c (emit_single_push_insn): Fix warning. 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com> * expr.c (emit_move_insn_1): Avoid modifying cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined. From-SVN: r43703
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/tm.texi17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 89cd142..81aa6b9 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -2507,6 +2507,23 @@ When we say, ``define this macro if @dots{},'' it means that the
compiler checks this macro only with @code{#ifdef} so the precise
definition used does not matter.
+@findex STACK_PUSH_CODE
+@item STACK_PUSH_CODE
+
+This macro defines the operation used when something is pushed
+on the stack. In RTL, a push operation will be
+@code{(set (mem (STACK_PUSH_CODE (reg sp))) ...)}
+
+The choices are @code{PRE_DEC}, @code{POST_DEC}, @code{PRE_INC},
+and @code{POST_INC}. Which of these is correct depends on
+the stack direction and on whether the stack pointer points
+to the last item on the stack or whether it points to the
+space for the next item on the stack.
+
+The default is @code{PRE_DEC} when @code{STACK_GROWS_DOWNWARD} is
+defined, which is almost always right, and @code{PRE_INC} otherwise,
+which is often wrong.
+
@findex FRAME_GROWS_DOWNWARD
@item FRAME_GROWS_DOWNWARD
Define this macro if the addresses of local variable slots are at negative