diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2025-06-22 11:06:12 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2025-06-22 11:06:12 +0200 |
commit | acd5f587ca6a5deaebab19f6b0935321853c9f6f (patch) | |
tree | 90e27b77cf31986a8819fffbc44349e738ee8e41 /libjava/classpath/lib/java/util/concurrent | |
parent | ed02d762d51d9544aeca52a8b306c2da2f36bd7f (diff) | |
download | gcc-acd5f587ca6a5deaebab19f6b0935321853c9f6f.zip gcc-acd5f587ca6a5deaebab19f6b0935321853c9f6f.tar.gz gcc-acd5f587ca6a5deaebab19f6b0935321853c9f6f.tar.bz2 |
Fix some problems with afdo propagation
This patch fixes problems I noticed by exploring profiles of some hot
functions in GCC. In particular the propagation sometimes changed
precise 0 to afdo 0 for paths calling abort and sometimes we could
propagate more when we accept that some paths has 0 count.
Finally there was important bug in computing all_known which
resulted in BB probabilities to be quite broken after afdo.
Bootstrapped/regtested x86_64-linux, comitted.
gcc/ChangeLog:
* auto-profile.cc (update_count_by_afdo_count): Make static;
add variant accepting profile_count.
(afdo_find_equiv_class): Use update_count_by_afdo_count.
(afdo_propagate_edge): Likewise.
(afdo_propagate): Likewise.
(afdo_calculate_branch_prob): Fix handling of all_known.
(afdo_annotate_cfg): Annotate by 0 where both afdo and static
profile agrees.
Diffstat (limited to 'libjava/classpath/lib/java/util/concurrent')
0 files changed, 0 insertions, 0 deletions