This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, 4.9/4.10] Profile based option tuning
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Pengfei Yuan <0xcoolypf at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 23 Jul 2014 14:51:16 +0200
- Subject: Re: [PATCH, 4.9/4.10] Profile based option tuning
- Authentication-results: sourceware.org; auth=none
- References: <CACmZjJL=PPKMuCspMPfS82zud_rgshLM7VLzbMMkTQNs2DbupA at mail dot gmail dot com> <CAFiYyc0G33aJk95wr8vyHKJRwiciX4xTWjW4faz1_aLb7FdR_Q at mail dot gmail dot com> <CACmZjJLBf0xiKUxiYTOk7k110+HqRraLSfD-2iGeAHGbD+8g2g at mail dot gmail dot com> <CAFiYyc3P9pbx1Sj77Zy92us=ZF_D113Se6=pgkb4TSB-uAf0EA at mail dot gmail dot com>
> On Wed, Jul 23, 2014 at 2:39 AM, Pengfei Yuan <0xcoolypf@gmail.com> wrote:
> > In the experiment, about 60% (1019/1699) profile data files are empty
> > (all counters are zero).
>
> Well, but you are globally overriding options even for the parts with
> profile. The whole point of profile-feedback is to get at the interesting
> parts (those with non-zero counters).
>
> What you say is that not enough parts of the compiler care for
> the actual profiles and thus portions with all-zero counters are
> treated as if they were hot? Then better fix that.
Most of the compiler should use the optimize_for_size/time predicates that should
get the case of empty profile right. For missing profile I am not terribly decided
what to do - it may make sense to ignore all changes of -fprofile-use then, but it
seems users should just arrange profile when they want to use it (and we already
warn in that case)
What benefits you see from the patch?
Honza
>
> Richard.
>
> > 2014-07-22 21:39 GMT+08:00 Richard Biener <richard.guenther@gmail.com>:
> >> On Mon, Jul 21, 2014 at 7:13 AM, Pengfei Yuan <0xcoolypf@gmail.com> wrote:
> >>> Hi,
> >>>
> >>> This patch tunes optimization options based on profile data:
> >>> * Disable PGO options if profile is not available or empty.
> >>> * Optimize for size if profile is available but empty.
> >>
> >> Err ... these don't seem interesting cases to "optimize" for?
> >>
> >> Richard.