+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;