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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:6123b998b185572abac7d7224b34f03955bb91a2

commit r12-4776-g6123b998b185572abac7d7224b34f03955bb91a2
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Oct 28 20:10:15 2021 +0200

    match.pd: Optimize MIN_EXPR <addr1, addr2> etc. addr1 < addr2 would be
simplified [PR102951]

    This patch outlines the decision whether address comparison can be folded
    or not from the match.pd simple comparison simplification and uses it
    both there and in a new minmax simplification, such that we fold e.g.
    MAX (&a[2], &a[1]) etc.
    Some of the Wstringop-overflow-62.c changes might look weird, but that
    seems to be mainly due to gimple_fold_builtin_memset not bothering to
    copy over location, will fix that incrementally.

    2021-10-28  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/102951
            * fold-const.h (address_compare): Declare.
            * fold-const.c (address_compare): New function.
            * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Use
            address_compare helper.
            (minmax cmp (convert1?@2 addr@0) (convert2?@3 addr@1)): New
            simplification.

            * gcc.dg/tree-ssa/pr102951.c: New test.
            * gcc.dg/Wstringop-overflow-62.c: Adjust expected diagnostics.

Reply via email to