diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2025-07-09 11:51:03 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2025-07-09 12:20:56 +0200 |
commit | 3c0db87b13ed034196d8b77f1acdf40a538d585f (patch) | |
tree | 394a7a11ae315c824ef6b5c8e59971f177f5c70b /libstdc++-v3/testsuite/std | |
parent | 8bd7504cab6fc3289700c1cdb7d03b5e6e9c6c54 (diff) | |
download | gcc-3c0db87b13ed034196d8b77f1acdf40a538d585f.zip gcc-3c0db87b13ed034196d8b77f1acdf40a538d585f.tar.gz gcc-3c0db87b13ed034196d8b77f1acdf40a538d585f.tar.bz2 |
Improve afdo_adjust_guessed_profile
This patch makes afdo_adjust_guessed_profile more robust. Instead of using
median of scales we compute robust average wehre weights is taken from execution
count of edge it originates from and also I added a cap since in some cases
scaling factor may end up being very large introducing artificial hotest regions
of the program confusing ipa-profile's histogram based cutoff.
This was the problem of roms.
Bootstrapped/regtested x86_64-linux, comitted.
gcc/ChangeLog:
* auto-profile.cc (struct scale): New structure.
(add_scale): Also record weights.
(afdo_adjust_guessed_profile): Compute robust average
of scales and cap by max count in function.
Diffstat (limited to 'libstdc++-v3/testsuite/std')
0 files changed, 0 insertions, 0 deletions