https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110649
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jan Hubicka <hubi...@gcc.gnu.org>: https://gcc.gnu.org/g:1d203d4c90adb064edfa9680768d1f83a41f17e0 commit r14-2544-g1d203d4c90adb064edfa9680768d1f83a41f17e0 Author: Jan Hubicka <j...@suse.cz> Date: Sun Jul 16 23:53:56 2023 +0200 Avoid double profile udpate in try_peel_loop try_peel_loop uses gimple_duplicate_loop_body_to_header_edge which subtracts the profile from the original loop. However then it tries to scale the profile in a wrong way (it forces header count to be entry count). This eliminates to profile misupdates in the internal loop of sphinx3. gcc/ChangeLog: PR middle-end/110649 * tree-ssa-loop-ivcanon.cc (try_peel_loop): Avoid double profile update.