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

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:018ddc86b928514d7dfee024dcdeb204d5dcdd61

commit r14-9391-g018ddc86b928514d7dfee024dcdeb204d5dcdd61
Author: Richard Biener <rguent...@suse.de>
Date:   Fri Mar 8 13:27:12 2024 +0100

    tree-optimization/114269 - 434.zeusmp regression after SCEV analysis fix

    The following addresses a performance regression caused by the recent
    SCEV analysis fix with regard to folding multiplications and undefined
    behavior on overflow.  We do not handle (T) { a, +, b } * c but can
    treat sign-conversions from unsigned by performing the multiplication
    in the unsigned type.  That's what we already do for additions (but
    that misses one case that turns out important).

    This fixes the 434.zeusmp regression for me.

            PR tree-optimization/114269
            PR tree-optimization/114074
            * tree-chrec.cc (chrec_fold_plus_1): Handle sign-conversions
            in the third CASE_CONVERT case as well.
            (chrec_fold_multiply): Handle sign-conversions from unsigned
            by performing the operation in the unsigned type.

Reply via email to