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

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

https://gcc.gnu.org/g:d884e9c5c746a41b069905f990fa72b9e550cccc

commit r16-449-gd884e9c5c746a41b069905f990fa72b9e550cccc
Author: Andrew Pinski <quic_apin...@quicinc.com>
Date:   Thu Sep 26 23:25:17 2024 +0000

    gimple: Add gimple_with_undefined_signed_overflow and use it [PR111276]

    While looking into the ifcombine, I noticed that
rewrite_to_defined_overflow
    was rewriting already defined code. In the previous attempt at fixing this,
    the review mentioned we should not be calling rewrite_to_defined_overflow
    in those cases. The places which called rewrite_to_defined_overflow didn't
    always check the lhs of the assignment. This fixes the problem by
    introducing a helper function which is to be used before calling
    rewrite_to_defined_overflow.

    Bootstrapped and tested on x86_64-linux-gnu.

    gcc/ChangeLog:

            PR tree-optimization/111276
            * gimple-fold.cc (arith_code_with_undefined_signed_overflow): Make
static.
            (gimple_with_undefined_signed_overflow): New function.
            * gimple-fold.h (arith_code_with_undefined_signed_overflow):
Remove.
            (gimple_with_undefined_signed_overflow): Add declaration.
            * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Use
            gimple_with_undefined_signed_overflow instead of manually
            checking lhs and the code of the stmt.
            (predicate_statements): Likewise.
            * tree-ssa-ifcombine.cc (ifcombine_rewrite_to_defined_overflow):
Likewise.
            * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
            * tree-ssa-reassoc.cc (update_range_test): Likewise. Reformat.
            * tree-scalar-evolution.cc (final_value_replacement_loop): Use
            gimple_with_undefined_signed_overflow instead of
            arith_code_with_undefined_signed_overflow.
            * tree-ssa-loop-split.cc (split_loop): Likewise.

    Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>

Reply via email to