diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 51b568c3681..5ae14569f41 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-15 John David Anglin + + PR optimization/12372 + * calls.c (expand_call): Add call_fusage data for stack arguments in + constant calls. + 2004-01-15 Alan Modra * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static. diff --git a/gcc/calls.c b/gcc/calls.c index 1be581cfa69..f0a59bbf617 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -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