From: wilson Date: Tue, 24 Feb 2004 07:35:42 +0000 (+0000) Subject: Out-of-date comments noticed while looking at PR 169. X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=8c78c14bc4e8b08dd4b5a0f0b3f53d015e2ba862 Out-of-date comments noticed while looking at PR 169. * calls.c (preompute_arguments): Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78357 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9a8301095d..385e988c1c3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-02-23 James E Wilson + + * calls.c (preompute_arguments): Update comment. + 2004-02-23 Kazu Hirata * et-forest.c: Replace et_occurences with et_occurrences. diff --git a/gcc/calls.c b/gcc/calls.c index 82664b5232c..4bbec9d421f 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1376,20 +1376,16 @@ precompute_arguments (int flags, int num_actuals, struct arg_data *args) { int i; - /* If this function call is cse'able, precompute all the parameters. - Note that if the parameter is constructed into a temporary, this will - cause an additional copy because the parameter will be constructed - into a temporary location and then copied into the outgoing arguments. - If a parameter contains a call to alloca and this function uses the - stack, precompute the parameter. */ - - /* If we preallocated the stack space, and some arguments must be passed - on the stack, then we must precompute any parameter which contains a - function call which will store arguments on the stack. - Otherwise, evaluating the parameter may clobber previous parameters - which have already been stored into the stack. (we have code to avoid - such case by saving the outgoing stack arguments, but it results in - worse code) */ + /* If this is a libcall, then precompute all arguments so that we do not + get extraneous instructions emitted as part of the libcall sequence. + + If this target defines ACCUMULATE_OUTGOING_ARGS to true, then we must + precompute all arguments that contain function calls. Otherwise, + computing arguments for a subcall may clobber arguments for this call. + + If this target defines ACCUMULATE_OUTGOING_ARGS to false, then we only + need to precompute arguments that change the stack pointer, such as calls + to alloca, and calls that do not pop all of their arguments. */ for (i = 0; i < num_actuals; i++) if ((flags & ECF_LIBCALL_BLOCK)