One line change onto r272731
authorKewen Lin <linkw@gcc.gnu.org>
Thu, 27 Jun 2019 05:33:15 +0000 (05:33 +0000)
committerKewen Lin <linkw@gcc.gnu.org>
Thu, 27 Jun 2019 05:33:15 +0000 (05:33 +0000)
    PR target/62147
    * gcc/loop-iv.c (find_simple_exit)

-  if (single_exit (loop) && finite_loop_p (loop))
+  if (desc->infinite && single_exit (loop) && finite_loop_p (loop))

From-SVN: r272732

gcc/loop-iv.c

index 36f9856f5f688407828ea055ab2813d940488bc7..207b5e2bfa384427ea3ecd3d9ed3842d6acaf7db 100644 (file)
@@ -3004,7 +3004,7 @@ find_simple_exit (struct loop *loop, struct niter_desc *desc)
      well.  It results in incorrect predicate information on the exit condition
      expression.  For example, if says [(int) _1 + -8, + , -8] != 0 finite,
      it means _1 can exactly divide -8.  */
-  if (single_exit (loop) && finite_loop_p (loop))
+  if (desc->infinite && single_exit (loop) && finite_loop_p (loop))
     {
       desc->infinite = NULL_RTX;
       if (dump_file)