[PATCH] Disable -fno-reorder-blocks-and-partition if no -fprofile-use to avoid unnecessary overhead

Teresa Johnson tejohnson@google.com
Fri Sep 25 16:58:00 GMT 2015

On Fri, Sep 25, 2015 at 7:34 AM, Jan Hubicka <hubicka@ucw.cz> 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.


> Honza
>> 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.
>> Teresa
>> >
>> >
>> > Bernd
>> --
>> Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413

Teresa Johnson | Software Engineer | tejohnson@google.com | 408-460-2413

More information about the Gcc-patches mailing list