diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2025-07-03 10:19:31 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@ucw.cz> | 2025-07-03 10:20:11 +0200 |
commit | bba817adbfde5c44fb77cc284c1917d33407ec2e (patch) | |
tree | 3b3eacd5d7e783ebebde54667b09955670353545 /libcpp/include | |
parent | 09db37f7cea79f1cfcede455763e5e2da28ae2d5 (diff) | |
download | gcc-bba817adbfde5c44fb77cc284c1917d33407ec2e.zip gcc-bba817adbfde5c44fb77cc284c1917d33407ec2e.tar.gz gcc-bba817adbfde5c44fb77cc284c1917d33407ec2e.tar.bz2 |
Fix overlfow in ipa-cp heuristics
ipa-cp converts sreal times to int, while point of sreal is to accomodate very
large values that can happen for loops with large number of iteraitons and also
when profile is inconsistent. This happens with afdo in testsuite where loop
preheader is estimated to have 0 excutions while loop body has large number of
executions.
Bootstrapped/regtesed x86_64-linux, comitted.
gcc/ChangeLog:
* ipa-cp.cc (hint_time_bonus): Return sreal and avoid
conversions to integer.
(good_cloning_opportunity_p): Avoid sreal to integer
conversions
(perform_estimation_of_a_value): Update.
Diffstat (limited to 'libcpp/include')
0 files changed, 0 insertions, 0 deletions