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

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

https://gcc.gnu.org/g:89ab128656b9da1359705bd770ae7d2367b33ec2

commit r14-10222-g89ab128656b9da1359705bd770ae7d2367b33ec2
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