OSDN Git Service

PR optimization/12372
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Jan 2004 14:58:06 +0000 (14:58 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 15 Jan 2004 14:58:06 +0000 (14:58 +0000)
* calls.c (expand_call): Add call_fusage data for stack arguments in
constant calls.

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

gcc/ChangeLog
gcc/calls.c

index 51b568c..5ae1456 100644 (file)
@@ -1,3 +1,9 @@
+2004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR optimization/12372
+       * calls.c (expand_call): Add call_fusage data for stack arguments in
+       constant calls.
+
 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
 
        * config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
index 1be581c..f0a59bb 100644 (file)
@@ -3025,6 +3025,14 @@ expand_call (tree exp, rtx target, int ignore)
                    && check_sibcall_argument_overlap (before_arg,
                                                       &args[i], 1)))
              sibcall_failure = 1;
+
+           if (flags & ECF_CONST
+               && args[i].stack
+               && args[i].value == args[i].stack)
+             call_fusage = gen_rtx_EXPR_LIST (VOIDmode,
+                                              gen_rtx_USE (VOIDmode,
+                                                           args[i].value),
+                                              call_fusage);
          }
 
       /* If we have a parm that is passed in registers but not in memory