https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92712
--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Mon Dec 2 08:51:49 2019 New Revision: 278894 URL: https://gcc.gnu.org/viewcvs?rev=278894&root=gcc&view=rev Log: PR tree-optimization/92712 * match.pd ((A * B) +- A -> (B +- 1) * A, A +- (A * B) -> (1 +- B) * A): Allow optimizing signed integers even when we don't know anything about range of A, but do know something about range of B and the simplification won't introduce new UB. * gcc.dg/tree-ssa/pr92712-1.c: New test. * gcc.dg/tree-ssa/pr92712-2.c: New test. * gcc.dg/tree-ssa/pr92712-3.c: New test. * gfortran.dg/loop_versioning_1.f90: Adjust expected number of likely to be innermost dimension messages. * gfortran.dg/loop_versioning_10.f90: Likewise. * gfortran.dg/loop_versioning_6.f90: Likewise. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/pr92712-1.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr92712-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/pr92712-3.c Modified: trunk/gcc/ChangeLog trunk/gcc/match.pd trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/loop_versioning_1.f90 trunk/gcc/testsuite/gfortran.dg/loop_versioning_10.f90 trunk/gcc/testsuite/gfortran.dg/loop_versioning_6.f90