+2015-12-10  Richard Biener  <rguenther@suse.de>
+
+       * tree-if-conv.c (if_convertible_loop_p_1): Do not compute
+       dependences.
+       (if_convertible_loop_p): Adjust.
+
 2015-12-10  Tom de Vries  <tom@codesourcery.com>
 
        * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove
 
 
 static bool
 if_convertible_loop_p_1 (struct loop *loop,
-                        vec<loop_p> *loop_nest,
                         vec<data_reference_p> *refs,
-                        vec<ddr_p> *ddrs, bool *any_mask_load_store)
+                        bool *any_mask_load_store)
 {
-  bool res;
   unsigned int i;
   basic_block exit_bb = NULL;
 
-  /* Don't if-convert the loop when the data dependences cannot be
-     computed: the loop won't be vectorized in that case.  */
-  res = compute_data_dependences_for_loop (loop, true, loop_nest, refs, ddrs);
-  if (!res)
+  if (find_data_references_in_loop (loop, refs) == chrec_dont_know)
     return false;
 
   calculate_dominance_info (CDI_DOMINATORS);
   edge_iterator ei;
   bool res = false;
   vec<data_reference_p> refs;
-  vec<ddr_p> ddrs;
 
   /* Handle only innermost loop.  */
   if (!loop || loop->inner)
       return false;
 
   refs.create (5);
-  ddrs.create (25);
-  auto_vec<loop_p, 3> loop_nest;
-  res = if_convertible_loop_p_1 (loop, &loop_nest, &refs, &ddrs,
-                                any_mask_load_store);
+  res = if_convertible_loop_p_1 (loop, &refs, any_mask_load_store);
 
   data_reference_p dr;
   unsigned int i;
     free (dr->aux);
 
   free_data_refs (refs);
-  free_dependence_relations (ddrs);
 
   delete ref_DR_map;
   ref_DR_map = NULL;