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