Commit 2c6a05b1 by Bin Cheng Committed by Bin Cheng

tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip unnecessary data…

tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip unnecessary data dependence check after visited store stmt.

	* tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip
	unnecessary data dependence check after visited store stmt.

From-SVN: r241696
parent 0b56e9ad
2016-10-31 Bin Cheng <bin.cheng@arm.com>
* tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Skip
unnecessary data dependence check after visited store stmt.
2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/71915
......@@ -583,6 +583,7 @@ vect_slp_analyze_node_dependences (slp_instance instance, slp_tree node,
if (!dr_b)
return false;
bool dependent = false;
/* If we run into a store of this same instance (we've just
marked those) then delay dependence checking until we run
into the last store because this is where it will have
......@@ -599,22 +600,21 @@ vect_slp_analyze_node_dependences (slp_instance instance, slp_tree node,
= STMT_VINFO_DATA_REF (vinfo_for_stmt (store));
ddr_p ddr = initialize_data_dependence_relation
(dr_a, store_dr, vNULL);
if (vect_slp_analyze_data_ref_dependence (ddr))
{
free_dependence_relation (ddr);
return false;
}
dependent = vect_slp_analyze_data_ref_dependence (ddr);
free_dependence_relation (ddr);
if (dependent)
break;
}
}
ddr_p ddr = initialize_data_dependence_relation (dr_a, dr_b, vNULL);
if (vect_slp_analyze_data_ref_dependence (ddr))
else
{
ddr_p ddr = initialize_data_dependence_relation (dr_a,
dr_b, vNULL);
dependent = vect_slp_analyze_data_ref_dependence (ddr);
free_dependence_relation (ddr);
return false;
}
free_dependence_relation (ddr);
if (dependent)
return false;
}
}
return true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment