This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] alternative hirate for builtin_expert


> > 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.

Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]