[Bug tree-optimization/68963] [4.9/5/6 Regression] O3 vs. O2 discards part of loop and terminates early

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 24 12:04:00 GMT 2016


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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed Feb 24 12:03:27 2016
New Revision: 233660

URL: https://gcc.gnu.org/viewcvs?rev=233660&root=gcc&view=rev
Log:
2016-02-24  Richard Biener  <rguenther@suse.de>

        PR middle-end/68963
        * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
        bogus check.
        (record_nonwrapping_iv): Do not fall back to the low/high bound
        for non-constant IV bases if the stmt is not always executed.

        * gcc.dg/torture/pr68963.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr68963.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-loop-niter.c


More information about the Gcc-bugs mailing list