OSDN Git Service

Out-of-date comments noticed while looking at PR 169.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Feb 2004 07:35:42 +0000 (07:35 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Feb 2004 07:35:42 +0000 (07:35 +0000)
* calls.c (preompute_arguments): Update comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78357 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/calls.c

index c9a8301..385e988 100644 (file)
@@ -1,3 +1,7 @@
+2004-02-23  James E Wilson  <wilson@specifixinc.com>
+
+       * calls.c (preompute_arguments): Update comment.
+
 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
 
        * et-forest.c: Replace et_occurences with et_occurrences.
index 82664b5..4bbec9d 100644 (file)
@@ -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)