aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-04-29 05:54:19 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-04-29 05:54:19 -0700
commit062e7fd8826384170b07fae9a4d8fd16c8f03083 (patch)
treef82b91abd07dc24d86f6c56307c7621d341ff5a2 /gcc
parentd8e8b2b99774f2b8223fac3223e7cd5d77db1d32 (diff)
downloadgcc-062e7fd8826384170b07fae9a4d8fd16c8f03083.zip
gcc-062e7fd8826384170b07fae9a4d8fd16c8f03083.tar.gz
gcc-062e7fd8826384170b07fae9a4d8fd16c8f03083.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/calls.c14
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2c9c942..ba0194a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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>
* fixinc/mkfixinc.sh: Makesure the result shell script is writable
diff --git a/gcc/calls.c b/gcc/calls.c
index 466c778..03bac91 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -389,7 +389,7 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
rtx call_fusage;
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 call_insn;
#ifndef ACCUMULATE_OUTGOING_ARGS
@@ -416,10 +416,10 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
if (valreg)
pat = gen_call_value_pop (valreg,
gen_rtx_MEM (FUNCTION_MODE, funexp),
- stack_size_rtx, next_arg_reg, n_pop);
+ rounded_stack_size_rtx, next_arg_reg, n_pop);
else
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);
already_popped = 1;
@@ -434,11 +434,11 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
if (valreg)
emit_call_insn (gen_call_value (valreg,
gen_rtx_MEM (FUNCTION_MODE, funexp),
- stack_size_rtx, next_arg_reg,
+ rounded_stack_size_rtx, next_arg_reg,
NULL_RTX));
else
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));
}
else
@@ -492,8 +492,8 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
= gen_rtx_EXPR_LIST (VOIDmode,
gen_rtx_CLOBBER (VOIDmode, stack_pointer_rtx),
CALL_INSN_FUNCTION_USAGE (call_insn));
- stack_size -= n_popped;
rounded_stack_size -= n_popped;
+ rounded_stack_size_rtx = GEN_INT (rounded_stack_size);
}
if (rounded_stack_size != 0)
@@ -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)
pending_stack_adjust += rounded_stack_size;
else
- adjust_stack (GEN_INT (rounded_stack_size));
+ adjust_stack (rounded_stack_size_rtx);
}
#endif
}