From 91b70175ec94e8f45bb08ff7f3119358f51d5193 Mon Sep 17 00:00:00 2001 From: hubicka Date: Sat, 1 Apr 2000 00:09:22 +0000 Subject: * builtins.c (expand_builtin_apply): Pass proper parameters to allocate_dynamic_stack_space. * calls.c (emit_call_1): Do not adjust stack pointer for SIB, update stack_pointer_delta; do not update arg_size_so_far. (compute_argument_block_size): Use stack_delta instead of stack_pointer_pending and arg_size_so_far. (expand_call): Add sanity checking for stack_pointer_delta; save and restore stack_pointer_delta for SIB, use stack_pointer_delta for alignment; do not update arg_space_so_far. (emit_library_call_value): Use stack_pointer_delta for alignment. (store_one_arg): Do not update arg_space_so_far. * explow.c (adjust_stack, anti_adjust_stack): Update stack_pointer_delta. (allocate_dynamic_stack_space): Add sanity checking for stack_pointer_delta. * expr.c (init_expr, clear_pending_stack_adjust): Clear stack_pointer_delta. (emit_push_insn): Update stack_pointer_delta. * function.h (struct expr_status): Add x_stack_pointer_delta; remove x_arg_space_so_far. (arg_space_so_far): Remove. (stack_pointer_delta): New macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32851 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/builtins.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'gcc/builtins.c') diff --git a/gcc/builtins.c b/gcc/builtins.c index 63b17f70256..3540fccda12 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -871,8 +871,6 @@ expand_builtin_apply (function, arguments, argsize) /* Create a block where the return registers can be saved. */ result = assign_stack_local (BLKmode, apply_result_size (), -1); - /* ??? The argsize value should be adjusted here. */ - /* Fetch the arg pointer from the ARGUMENTS block. */ incoming_args = gen_reg_rtx (Pmode); emit_move_insn (incoming_args, @@ -901,7 +899,7 @@ expand_builtin_apply (function, arguments, argsize) haven't figured out how the calling convention macros effect this, but it's likely that the source and/or destination addresses in the block copy will need updating in machine specific ways. */ - dest = allocate_dynamic_stack_space (argsize, 0, 0); + dest = allocate_dynamic_stack_space (argsize, 0, BITS_PER_UNIT); emit_block_move (gen_rtx_MEM (BLKmode, dest), gen_rtx_MEM (BLKmode, incoming_args), argsize, PARM_BOUNDARY); -- cgit v1.2.3