[PATCH] Disable -fno-reorder-blocks-and-partition if no -fprofile-use to avoid unnecessary overhead
Fri Sep 25 16:58:00 GMT 2015
On Fri, Sep 25, 2015 at 7:34 AM, Jan Hubicka <email@example.com> wrote:
>> > What has changed between then and now? Also, do we not use
>> > estimates/heuristics when not using a profile?
>> Nothing has changed - splitting effectively never kicked in without a
>> profile. Honza and I had discussed the idea that static profile
>> heuristics could eventually be used to distinguish hot vs cold bbs,
> Yep, the basic idea was to move EH clenaups to the cold section for start. The
> cleanup code can get surprisingly large for some C++ apps.
>> but that hasn't happened. What I didn't notice until recently was the
>> size increase in the .o files from varasm adding in unnecessary
>> sections and labels when this option was on. Unless and until static
> Perhaps we also may just teach varasm to not output those when function is not
> split. I am happy with the patch as it is because it is pointless to run the
> code when no splitting happens.
Right, that will need to happen if splitting is tuned for static
frequencies. For now I committed this patch.
I also fixed the old change log entry that Bernd pointed out.
>> heuristics are used to distinguish cold bbs in
>> probably_never_executed_bb_p, I don't think it makes sense to do
>> anything finer grained that just disabling the option.
>> > Bernd
>> Teresa Johnson | Software Engineer | firstname.lastname@example.org | 408-460-2413
Teresa Johnson | Software Engineer | email@example.com | 408-460-2413
More information about the Gcc-patches