aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-if-conv.c')
-rw-r--r--gcc/tree-if-conv.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/gcc/tree-if-conv.c b/gcc/tree-if-conv.c
index 55b590b..63da90a 100644
--- a/gcc/tree-if-conv.c
+++ b/gcc/tree-if-conv.c
@@ -1173,18 +1173,13 @@ predicate_bbs (loop_p loop)
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);
@@ -1301,7 +1296,6 @@ if_convertible_loop_p (struct loop *loop, bool *any_mask_load_store)
edge_iterator ei;
bool res = false;
vec<data_reference_p> refs;
- vec<ddr_p> ddrs;
/* Handle only innermost loop. */
if (!loop || loop->inner)
@@ -1334,10 +1328,7 @@ if_convertible_loop_p (struct loop *loop, bool *any_mask_load_store)
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;
@@ -1345,7 +1336,6 @@ if_convertible_loop_p (struct loop *loop, bool *any_mask_load_store)
free (dr->aux);
free_data_refs (refs);
- free_dependence_relations (ddrs);
delete ref_DR_map;
ref_DR_map = NULL;