This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Postpone expanding va_arg until pass_stdarg
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Tom de Vries <Tom_deVries at mentor dot com>
- Cc: Michael Matz <matz at suse dot de>,Jakub Jelinek <jakub at redhat dot com>,"gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Sat, 14 Feb 2015 08:43:53 +0100
- Subject: Re: Postpone expanding va_arg until pass_stdarg
- Authentication-results: sourceware.org; auth=none
- References: <54CA6BB1 dot 10502 at mentor dot com> <20150129172535 dot GN1746 at tucnak dot redhat dot com> <54CAB232 dot 1090005 at mentor dot com> <CAFiYyc1XB_6-P32CroiFbE2Of3j3vORu5d7ALuEgoN8F9yk0Tg at mail dot gmail dot com> <54CB61C8 dot 4060801 at mentor dot com> <alpine dot LNX dot 2 dot 00 dot 1501301322400 dot 18611 at wotan dot suse dot de> <54CF8AB8 dot 5040405 at mentor dot com> <alpine dot LNX dot 2 dot 00 dot 1502021628300 dot 18611 at wotan dot suse dot de> <54D0979A dot 8030200 at mentor dot com> <alpine dot LNX dot 2 dot 00 dot 1502031434250 dot 18611 at wotan dot suse dot de> <54D9CDE9 dot 8010805 at mentor dot com> <alpine dot LNX dot 2 dot 00 dot 1502101743570 dot 18611 at wotan dot suse dot de> <54DB9AFA dot 9030903 at mentor dot com> <alpine dot LNX dot 2 dot 00 dot 1502121454190 dot 18611 at wotan dot suse dot de> <54DD2E68 dot 8080402 at mentor dot com> <CAFiYyc27Ug4MaK7-xUvRYSVr6Hp6KBkzTShZsKDB0EQ7xMCjVQ at mail dot gmail dot com> <54DE6F41 dot 5090801 at mentor dot com>
On February 13, 2015 10:40:17 PM CET, Tom de Vries <Tom_deVries@mentor.com> wrote:
>On 13-02-15 09:57, Richard Biener wrote:
>>> [ We're still expanding ifn_va_arg before the va_list_gpr/fpr_size
>>> >optimization. ]
>> Yeah, and the point of the exercise was of course to change that;)
>
>Well, there are two parts.
>
>The first is postpone expansion of va_arg to before the
>va_list_gpr/fpr_size
>optimization. This eliminates disturbance between the expansion and the
>
>optimization, and makes pass_stdarg more robust. This allows us to
>insert
>optimizations before pass_stdarg without breaking pass_starg.
>
>The second is to simplify pass_starg by handling va_arg rather than the
>
>expansion of va_arg.
>
>I think the first part by itself (which is done now) is already
>worthwhile on
>its own.
I agree. It also enables easier inlining of vaarg functions.
Richard.
>Thanks,
>- Tom