Commit d55d9ed0 by Richard Biener Committed by Richard Biener

tree-vect-loop.c (vect_analyze_loop_2): Be more informative when not vectorizing…

tree-vect-loop.c (vect_analyze_loop_2): Be more informative when not vectorizing because of too many alias checks.

2014-02-05  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_analyze_loop_2): Be more informative
	when not vectorizing because of too many alias checks.
	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
	Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.

From-SVN: r207499
parent c70da878
2014-02-05 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_analyze_loop_2): Be more informative
when not vectorizing because of too many alias checks.
* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
2014-02-05 Nick Clifton <nickc@redhat.com> 2014-02-05 Nick Clifton <nickc@redhat.com>
* config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
......
...@@ -2901,6 +2901,24 @@ vect_prune_runtime_alias_test_list (loop_vec_info loop_vinfo) ...@@ -2901,6 +2901,24 @@ vect_prune_runtime_alias_test_list (loop_vec_info loop_vinfo)
&& diff - (HOST_WIDE_INT) TREE_INT_CST_LOW (dr_a1->seg_len) < && diff - (HOST_WIDE_INT) TREE_INT_CST_LOW (dr_a1->seg_len) <
min_seg_len_b)) min_seg_len_b))
{ {
if (dump_enabled_p ())
{
dump_printf_loc (MSG_NOTE, vect_location,
"merging ranges for ");
dump_generic_expr (MSG_NOTE, TDF_SLIM,
DR_REF (dr_a1->dr));
dump_printf (MSG_NOTE, ", ");
dump_generic_expr (MSG_NOTE, TDF_SLIM,
DR_REF (dr_b1->dr));
dump_printf (MSG_NOTE, " and ");
dump_generic_expr (MSG_NOTE, TDF_SLIM,
DR_REF (dr_a2->dr));
dump_printf (MSG_NOTE, ", ");
dump_generic_expr (MSG_NOTE, TDF_SLIM,
DR_REF (dr_b2->dr));
dump_printf (MSG_NOTE, "\n");
}
dr_a1->seg_len = size_binop (PLUS_EXPR, dr_a1->seg_len = size_binop (PLUS_EXPR,
dr_a2->seg_len, size_int (diff)); dr_a2->seg_len, size_int (diff));
comp_alias_ddrs.ordered_remove (i--); comp_alias_ddrs.ordered_remove (i--);
...@@ -2908,18 +2926,12 @@ vect_prune_runtime_alias_test_list (loop_vec_info loop_vinfo) ...@@ -2908,18 +2926,12 @@ vect_prune_runtime_alias_test_list (loop_vec_info loop_vinfo)
} }
} }
dump_printf_loc (MSG_NOTE, vect_location,
"improved number of alias checks from %d to %d\n",
may_alias_ddrs.length (), comp_alias_ddrs.length ());
if ((int) comp_alias_ddrs.length () > if ((int) comp_alias_ddrs.length () >
PARAM_VALUE (PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS)) PARAM_VALUE (PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS))
{ return false;
if (dump_enabled_p ())
{
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
"disable versioning for alias - max number of "
"generated checks exceeded.\n");
}
return false;
}
return true; return true;
} }
......
...@@ -1723,8 +1723,10 @@ vect_analyze_loop_2 (loop_vec_info loop_vinfo) ...@@ -1723,8 +1723,10 @@ vect_analyze_loop_2 (loop_vec_info loop_vinfo)
{ {
if (dump_enabled_p ()) if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
"too long list of versioning for alias " "number of versioning for alias "
"run-time tests.\n"); "run-time tests exceeds %d "
"(--param vect-max-version-for-alias-checks)\n",
PARAM_VALUE (PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS));
return false; return false;
} }
......
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