diff options
author | Jan Hubicka <jh@suse.cz> | 2000-02-07 18:39:40 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2000-02-07 17:39:40 +0000 |
commit | c2f8b491493226d196fc80a9f0d4856612c52992 (patch) | |
tree | fbcc1dc384eab7f572ca46df0b98ef599a28ec0b /gcc/explow.c | |
parent | 08a75be26cf718b09bee952783e88d7789b47979 (diff) | |
download | gcc-c2f8b491493226d196fc80a9f0d4856612c52992.zip gcc-c2f8b491493226d196fc80a9f0d4856612c52992.tar.gz gcc-c2f8b491493226d196fc80a9f0d4856612c52992.tar.bz2 |
calls.c (compute_argument_block_size): New argument preferred_stack_boundary.
* calls.c (compute_argument_block_size): New argument
preferred_stack_boundary.
(expand_call): update cfun->preferred_stack_boundary, update call of
compute_argument_block_size
(emit_library_call): Increate cfun->preferred_stack_boundary
to PREFERRED_STACK_BOUNDARY
(emit_library_call_value): Likewise.
* explow.c (allocate_dynamic_stack_spave): Likewise.
* function.c (prepare_function_start): Set
cfun->preferred_stack_boundary
* function.h (struct function): Add preferred_stack_boundary field.
* integrate.c (expand_inline_function): Update
cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
(copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
* i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.
From-SVN: r31831
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 1f76dcf..5883ada 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -1178,6 +1178,13 @@ allocate_dynamic_stack_space (size, target, known_align) if (GET_MODE (size) != VOIDmode && GET_MODE (size) != Pmode) size = convert_to_mode (Pmode, size, 1); + /* We can't attempt to minimize alignment necessary, because we don't + know the final value of preferred_stack_boundary yet while executing + this code. */ +#ifdef PREFERRED_STACK_BOUNDARY + cfun->preferred_stack_boundary = PREFERRED_STACK_BOUNDARY; +#endif + /* We will need to ensure that the address we return is aligned to BIGGEST_ALIGNMENT. If STACK_DYNAMIC_OFFSET is defined, we don't always know its final value at this point in the compilation (it |