From: Richard Henderson Date: Tue, 28 May 2002 20:29:43 +0000 (-0700) Subject: i386.c (ix86_compute_frame_layout): Do not add bottom alignment for leaf functions. X-Git-Tag: releases/gcc-3.1.1~248 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ffa1974d4634ab86631d9615f6e3043105468a3;p=thirdparty%2Fgcc.git i386.c (ix86_compute_frame_layout): Do not add bottom alignment for leaf functions. * config/i386/i386.c (ix86_compute_frame_layout): Do not add bottom alignment for leaf functions. From-SVN: r53966 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 831b5252ad7e..b3042f76770e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-05-28 Richard Henderson + + * config/i386/i386.c (ix86_compute_frame_layout): Do not add + bottom alignment for leaf functions. + Mon May 27 10:37:28 CEST 2002 Jan Hubicka * reload.c (find_valid_class): Accept new argument DEST, diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 74297d04c01d..bf9fb6d57385 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -4015,8 +4015,9 @@ ix86_compute_frame_layout (frame) offset += size; - /* Add outgoing arguments area. */ - if (ACCUMULATE_OUTGOING_ARGS) + /* Add outgoing arguments area. Can be skipped if we eliminated + all the function calls as dead code. */ + if (ACCUMULATE_OUTGOING_ARGS && !current_function_is_leaf) { offset += current_function_outgoing_args_size; frame->outgoing_arguments_size = current_function_outgoing_args_size; @@ -4024,9 +4025,12 @@ ix86_compute_frame_layout (frame) else frame->outgoing_arguments_size = 0; - /* Align stack boundary. */ - frame->padding2 = ((offset + preferred_alignment - 1) - & -preferred_alignment) - offset; + /* Align stack boundary. Only needed if we're calling another function. */ + if (!current_function_is_leaf) + frame->padding2 = ((offset + preferred_alignment - 1) + & -preferred_alignment) - offset; + else + frame->padding2 = 0; offset += frame->padding2;