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.

Reply via email to