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

--- Comment #15 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Andrew Pinski
<pins...@gcc.gnu.org>:

https://gcc.gnu.org/g:3f6a42510a1bd4b004ed70ac44cdad2770b732a8

commit r13-8784-g3f6a42510a1bd4b004ed70ac44cdad2770b732a8
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Sat May 18 11:55:58 2024 -0700

    PHIOPT: Don't transform minmax if middle bb contains a phi [PR115143]

    The problem here is even if last_and_only_stmt returns a statement,
    the bb might still contain a phi node which defines a ssa name
    which is used in that statement so we need to add a check to make sure
    that the phi nodes are empty for the middle bbs in both the
    `CMP?MINMAX:MINMAX` case and the `CMP?MINMAX:B` cases.

    Bootstrapped and tested on x86_64_linux-gnu with no regressions.

            PR tree-optimization/115143

    gcc/ChangeLog:

            * tree-ssa-phiopt.cc (minmax_replacement): Check for empty
            phi nodes for middle bbs for the case where middle bb is not empty.

    gcc/testsuite/ChangeLog:

            * gcc.c-torture/compile/pr115143-1.c: New test.
            * gcc.c-torture/compile/pr115143-2.c: New test.
            * gcc.c-torture/compile/pr115143-3.c: New test.

    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
    (cherry picked from commit 9ff8f041331ef8b56007fb3c4d41d76f9850010d)

Reply via email to