expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
* 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
This commit is contained in:
parent
e27e731daa
commit
9e0e11bfe4
@ -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>
|
||||
|
12
gcc/expr.c
12
gcc/expr.c
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user