[Bug tree-optimization/101508] [9/10/11/12 Regression] Possible undefined behaviour in cpp program using "unsigned" type starting with r9-4145

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jan 24 12:15:31 GMT 2022


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

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

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

commit r12-6844-gf1af8528d34418bc874ae9d993ee0dc3559972d2
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Jan 24 11:50:06 2022 +0100

    tree-optimization/102131 - fix niter analysis wrt overflow

    This fixes the overflow issues seen with analyzing
    BASE0 + STEP0 cmp BASE1 + STEP1 as BASE0 + STEP0 - STEP1 cmp BASE1
    by following the logic we have when simplifying comparisons.

    2022-01-24  Richard Biener  <rguenther@suse.de>
                Jiufu Guo  <guojiufu@linux.ibm.com>

            PR tree-optimization/100740
            PR tree-optimization/101508
            PR tree-optimization/101972
            PR tree-optimization/102131
            * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
            constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
            BASE0 + STEP0 - STEP1 cmp BASE1 transform.

            * gcc.dg/torture/pr100740.c: New testcase.
            * gcc.dg/torture/pr101508.c: Likewise.
            * gcc.dg/torture/pr101972.c: Likewise.
            * gcc.dg/torture/pr102131-1.c: Likewise.
            * gcc.dg/torture/pr102131-2.c: Likewise.
            * gcc.dg/torture/pr102131-3.c: Likewise.
            * gcc.dg/torture/pr102131-4.c: Likewise.


More information about the Gcc-bugs mailing list