This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Ensure count_scale is no larger than REG_BR_PROB_BASE
- From: Dehao Chen <dehao at google dot com>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, David Li <davidxl at google dot com>
- Date: Fri, 16 May 2014 17:42:02 -0700
- Subject: Re: [PATCH] Ensure count_scale is no larger than REG_BR_PROB_BASE
- Authentication-results: sourceware.org; auth=none
- References: <CAO2gOZVj7vwDDtn1=XjE4PsiB-1B-a-9Ku2gFHViOVOLZUYMrg at mail dot gmail dot com> <20140516234137 dot GC28043 at kam dot mff dot cuni dot cz> <CAO2gOZUx92=GXQ-7ouET5zk+DCZbw=OPFTco=wPYhy-n-TofcQ at mail dot gmail dot com> <20140517002207 dot GD28043 at kam dot mff dot cuni dot cz>
Do you mean adjusting bb->count? Because in
expand_call_inline(tree-inline.c), it will use bb->count to pass into
copy_body to calculate count_scale.
On Fri, May 16, 2014 at 5:22 PM, Jan Hubicka <email@example.com> wrote:
>> In AutoFDO, a basic block's count can be much larger than it's actual
>> count because debug info might be incorrect. In this case, a call edge
>> count (calculated from BB count) could be much larger than callee's
>> header count, making the count_scale incorrectly large.
> In this case I still think we should handle this when producing the clone:
> we do not want to have clone's count much larger as well, so i think inliner
> and ipa-cp needs to deal with capping here instead....
>> > Honza