]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
authorGeoffrey Keating <geoffk@redhat.com>
Sun, 2 Sep 2001 01:14:45 +0000 (01:14 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sun, 2 Sep 2001 01:14:45 +0000 (01:14 +0000)
* expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
(emit_push_insn): Use specified padding direction when
STACK_PUSH_CODE is POST_INC.

From-SVN: r45352

gcc/ChangeLog
gcc/expr.c

index 3a2c75a5d7dc8d1fdd7d961e151a85cd17124d5c..260f09facada7e79112375fad04fb6d103563a30 100644 (file)
@@ -1,5 +1,9 @@
 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
 
+       * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
+       (emit_push_insn): Use specified padding direction when
+       STACK_PUSH_CODE is POST_INC.
+
        * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
 
 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
index 222d7ec0f08104db21b2c89c701e980479b45474..e8774e46f6c94ec749bf64e08f07e3a991b48262 100644 (file)
@@ -3102,18 +3102,11 @@ push_block (size, extra, below)
     }
 
 #ifndef STACK_GROWS_DOWNWARD
-#ifdef ARGS_GROW_DOWNWARD
-  if (!ACCUMULATE_OUTGOING_ARGS)
-#else
   if (0)
-#endif
 #else
   if (1)
 #endif
     {
-      /* Return the lowest stack address when STACK or ARGS grow downward and
-        we are not aaccumulating outgoing arguments (the c4x port uses such
-        conventions).  */
       temp = virtual_outgoing_args_rtx;
       if (extra != 0 && below)
        temp = plus_constant (temp, extra);
@@ -3273,8 +3266,9 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
      Default is below for small data on big-endian machines; else above.  */
   enum direction where_pad = FUNCTION_ARG_PADDING (mode, type);
 
-  /* Invert direction if stack is post-update.  */
-  if (STACK_PUSH_CODE == POST_INC || STACK_PUSH_CODE == POST_DEC)
+  /* Invert direction if stack is post-decrement. 
+     FIXME: why?  */
+  if (STACK_PUSH_CODE == POST_DEC)
     if (where_pad != none)
       where_pad = (where_pad == downward ? upward : downward);