Commit 3638733b by James E Wilson Committed by Jim Wilson

Out-of-date comments noticed while looking at PR 169.

	* calls.c (preompute_arguments): Update comment.

From-SVN: r78357
parent 69e9762e
2004-02-23 James E Wilson <wilson@specifixinc.com>
* calls.c (preompute_arguments): Update comment.
2004-02-23 Kazu Hirata <kazu@cs.umass.edu> 2004-02-23 Kazu Hirata <kazu@cs.umass.edu>
* et-forest.c: Replace et_occurences with et_occurrences. * et-forest.c: Replace et_occurences with et_occurrences.
......
...@@ -1376,20 +1376,16 @@ precompute_arguments (int flags, int num_actuals, struct arg_data *args) ...@@ -1376,20 +1376,16 @@ precompute_arguments (int flags, int num_actuals, struct arg_data *args)
{ {
int i; int i;
/* If this function call is cse'able, precompute all the parameters. /* If this is a libcall, then precompute all arguments so that we do not
Note that if the parameter is constructed into a temporary, this will get extraneous instructions emitted as part of the libcall sequence.
cause an additional copy because the parameter will be constructed
into a temporary location and then copied into the outgoing arguments. If this target defines ACCUMULATE_OUTGOING_ARGS to true, then we must
If a parameter contains a call to alloca and this function uses the precompute all arguments that contain function calls. Otherwise,
stack, precompute the parameter. */ computing arguments for a subcall may clobber arguments for this call.
/* If we preallocated the stack space, and some arguments must be passed If this target defines ACCUMULATE_OUTGOING_ARGS to false, then we only
on the stack, then we must precompute any parameter which contains a need to precompute arguments that change the stack pointer, such as calls
function call which will store arguments on the stack. to alloca, and calls that do not pop all of their arguments. */
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) */
for (i = 0; i < num_actuals; i++) for (i = 0; i < num_actuals; i++)
if ((flags & ECF_LIBCALL_BLOCK) if ((flags & ECF_LIBCALL_BLOCK)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment