This is the mail archive of the
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 <firstname.lastname@example.org> 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?
> > 2014-07-22 21:39 GMT+08:00 Richard Biener <email@example.com>:
> >> On Mon, Jul 21, 2014 at 7:13 AM, Pengfei Yuan <firstname.lastname@example.org> 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.