https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103793
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Xiong Hu Luo <luo...@gcc.gnu.org>: https://gcc.gnu.org/g:44372676e81358de29d5c853685a7664a95d8a96 commit r12-6140-g44372676e81358de29d5c853685a7664a95d8a96 Author: Xionghu Luo <luo...@linux.ibm.com> Date: Tue Dec 28 19:09:14 2021 -0600 Fix ICE in lsplit when built with -O3 -fno-guess-branch-probability [PR103793] no-guess-branch-probability option requires profile_count scaling with initialized_p guard, use multiply instead of apply_scale, which will do the right thing to undefined probabilities and will not cause unnecesary roundoff errors and precision info loss. Also merge the missed part of r12-6086 of factor out function to avoid duplicate code. Regression testest pass on Power and X86. gcc/ChangeLog: PR tree-optimization/103793 * tree-ssa-loop-split.c (fix_loop_bb_probability): New function. (split_loop): Use multiply to scale loop1's exit probability. (do_split_loop_on_cond): Call fix_loop_bb_probability. gcc/testsuite/ChangeLog: PR tree-optimization/103793 * gcc.dg/pr103793.c: New test.