Commit 062e7fd8 by Richard Henderson Committed by Richard Henderson

calls.c (emit_call_1): Pass rounded_stack_size to emit_call instead of the unrounded size.

        * calls.c (emit_call_1): Pass rounded_stack_size to emit_call
        instead of the unrounded size.

From-SVN: r26694
parent d8e8b2b9
Thu Apr 29 12:53:33 1999 Richard Henderson <rth@cygnus.com>
* calls.c (emit_call_1): Pass rounded_stack_size to emit_call
instead of the unrounded size.
1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com> 1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com>
* fixinc/mkfixinc.sh: Makesure the result shell script is writable * fixinc/mkfixinc.sh: Makesure the result shell script is writable
......
...@@ -389,7 +389,7 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size, ...@@ -389,7 +389,7 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
rtx call_fusage; rtx call_fusage;
int is_const; int is_const;
{ {
rtx stack_size_rtx = GEN_INT (stack_size); rtx rounded_stack_size_rtx = GEN_INT (rounded_stack_size);
rtx struct_value_size_rtx = GEN_INT (struct_value_size); rtx struct_value_size_rtx = GEN_INT (struct_value_size);
rtx call_insn; rtx call_insn;
#ifndef ACCUMULATE_OUTGOING_ARGS #ifndef ACCUMULATE_OUTGOING_ARGS
...@@ -416,10 +416,10 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size, ...@@ -416,10 +416,10 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
if (valreg) if (valreg)
pat = gen_call_value_pop (valreg, pat = gen_call_value_pop (valreg,
gen_rtx_MEM (FUNCTION_MODE, funexp), gen_rtx_MEM (FUNCTION_MODE, funexp),
stack_size_rtx, next_arg_reg, n_pop); rounded_stack_size_rtx, next_arg_reg, n_pop);
else else
pat = gen_call_pop (gen_rtx_MEM (FUNCTION_MODE, funexp), pat = gen_call_pop (gen_rtx_MEM (FUNCTION_MODE, funexp),
stack_size_rtx, next_arg_reg, n_pop); rounded_stack_size_rtx, next_arg_reg, n_pop);
emit_call_insn (pat); emit_call_insn (pat);
already_popped = 1; already_popped = 1;
...@@ -434,11 +434,11 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size, ...@@ -434,11 +434,11 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
if (valreg) if (valreg)
emit_call_insn (gen_call_value (valreg, emit_call_insn (gen_call_value (valreg,
gen_rtx_MEM (FUNCTION_MODE, funexp), gen_rtx_MEM (FUNCTION_MODE, funexp),
stack_size_rtx, next_arg_reg, rounded_stack_size_rtx, next_arg_reg,
NULL_RTX)); NULL_RTX));
else else
emit_call_insn (gen_call (gen_rtx_MEM (FUNCTION_MODE, funexp), emit_call_insn (gen_call (gen_rtx_MEM (FUNCTION_MODE, funexp),
stack_size_rtx, next_arg_reg, rounded_stack_size_rtx, next_arg_reg,
struct_value_size_rtx)); struct_value_size_rtx));
} }
else else
...@@ -492,8 +492,8 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size, ...@@ -492,8 +492,8 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
= gen_rtx_EXPR_LIST (VOIDmode, = gen_rtx_EXPR_LIST (VOIDmode,
gen_rtx_CLOBBER (VOIDmode, stack_pointer_rtx), gen_rtx_CLOBBER (VOIDmode, stack_pointer_rtx),
CALL_INSN_FUNCTION_USAGE (call_insn)); CALL_INSN_FUNCTION_USAGE (call_insn));
stack_size -= n_popped;
rounded_stack_size -= n_popped; rounded_stack_size -= n_popped;
rounded_stack_size_rtx = GEN_INT (rounded_stack_size);
} }
if (rounded_stack_size != 0) if (rounded_stack_size != 0)
...@@ -501,7 +501,7 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size, ...@@ -501,7 +501,7 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
if (flag_defer_pop && inhibit_defer_pop == 0 && !is_const) if (flag_defer_pop && inhibit_defer_pop == 0 && !is_const)
pending_stack_adjust += rounded_stack_size; pending_stack_adjust += rounded_stack_size;
else else
adjust_stack (GEN_INT (rounded_stack_size)); adjust_stack (rounded_stack_size_rtx);
} }
#endif #endif
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment