https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848
--- Comment #10 from rguenther at suse dot de <rguenther at suse dot de> --- On Fri, 4 Nov 2016, wschmidt at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77848 > > --- Comment #8 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- > FYI, the patch I am testing is: > > Index: gcc/tree-if-conv.c > =================================================================== > --- gcc/tree-if-conv.c (revision 241802) > +++ gcc/tree-if-conv.c (working copy) > @@ -2767,8 +2767,7 @@ tree_if_conversion (struct loop *loop) > || loop->dont_vectorize)) > goto cleanup; > > - if ((any_pred_load_store || any_complicated_phi) > - && !version_loop_for_if_conversion (loop)) > + if (flag_tree_loop_vectorize && !version_loop_for_if_conversion (loop)) > goto cleanup; can any_pred_load_store or any_complicated_phi never be true without flag_tree_loop_vectorize? Btw, I think we should simply guard if-conversion with flag_tree_loop_vectorize... (given it has no cost model) Richard. > /* Now all statements are if-convertible. Combine all the basic > >