https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103270

--- Comment #6 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:46bfe1b0e11c4797c5926e0754fae2848026376c

commit r12-6085-g46bfe1b0e11c4797c5926e0754fae2848026376c
Author: Xionghu Luo <luo...@linux.ibm.com>
Date:   Mon Dec 20 21:10:09 2021 -0600

    Fix incorrect loop exit edge probability [PR103270]

    r12-4526 cancelled jump thread path rotates loop. It exposes a issue in
    profile-estimate when predict_extra_loop_exits, outer loop's exit edge
    is marked as inner loop's extra loop exit and set with incorrect
    prediction, then a hot inner loop will become cold loop finally through
    optimizations, this patch add loop check when searching extra exit edges
    to avoid unexpected predict_edge from predict_paths_for_bb.

    Regression tested on P8LE.

    gcc/ChangeLog:

    2021-12-21  Xionghu Luo  <luo...@linux.ibm.com>

            PR middle-end/103270
            * predict.c (predict_extra_loop_exits): Add loop parameter.
            (predict_loops): Call with loop argument.

    gcc/testsuite/ChangeLog:

    2021-12-21  Xionghu Luo  <luo...@linux.ibm.com>

            PR middle-end/103270
            * gcc.dg/pr103270.c: New test.
  • [Bug testsuite/103270] [12 regr... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to