This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] alternative hirate for builtin_expert
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Rong Xu <xur at google dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>, David Li <davidxl at google dot com>
- Date: Wed, 2 Oct 2013 18:08:27 +0200
- Subject: Re: [PATCH] alternative hirate for builtin_expert
- Authentication-results: sourceware.org; auth=none
- References: <CAF1bQ=TH5+Qfd1MsAUDBJj+F-zizymTTGh7HxyuXUbaPqd-mng at mail dot gmail dot com> <CAF1bQ=Q_eiCz8AYkU-c=Xu7quQ0vy8eP=pi9QZt+QOF4vicnsg at mail dot gmail dot com>
> > Hi,
> > Current default probability for builtin_expect is 0.9996.
> > This makes the freq of unlikely bb very low (4), which
> > suppresses the inlining of any calls within those bb.
> > We used FDO data to measure the branch probably for
> > the branch annotated with builtin_expert.
> > For google internal benchmarks, the weight average
> > (the profile count value as the weight) is 0.9081.
> > Linux kernel is another program that is heavily annotated
> > with builtin-expert. We measured its weight average as 0.8717,
> > using google search as the workload.
> > This patch sets the alternate hirate probability for builtin_expert
> > to 90%. With the alternate hirate, we measured performance
> > improvement for google benchmarks and Linux kernel.
> > An earlier discussion is
> > https://mail.google.com/mail/u/0/?pli=1#label/gcc-paches/1415c5910054630b
> > This new patch is for the trunk and addresses Honza's comments.
> > Honza: this new probability is off by default. When we backport to google
> > branch we will make it the default. Let me know if you want to do the same
> > here.
I do not like much the binary parameter for builtin-expect-probability-relaxed.
I would just add bulitin-expect-probability taking value in percents and then
make predict.c to use it. Just use predict_edge instead of predict_edge_def
and document hitrate value as unused in predict.def.
OK with that change.