aboutsummaryrefslogtreecommitdiff
path: root/libcpp/include
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2025-07-03 10:19:31 +0200
committerJan Hubicka <hubicka@ucw.cz>2025-07-03 10:20:11 +0200
commitbba817adbfde5c44fb77cc284c1917d33407ec2e (patch)
tree3b3eacd5d7e783ebebde54667b09955670353545 /libcpp/include
parent09db37f7cea79f1cfcede455763e5e2da28ae2d5 (diff)
downloadgcc-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