diff options
author | Richard Biener <rguenther@suse.de> | 2014-02-05 10:28:26 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-02-05 10:28:26 +0000 |
commit | d55d9ed0aedfa9c6e5344b47379078f0a05dbb05 (patch) | |
tree | 8de24760e84b908a9863a5ca49e627d41e971b6d /gcc/tree-vect-data-refs.c | |
parent | c70da878e56cbac6eeb924fa9bc32576714d1c03 (diff) | |
download | gcc-d55d9ed0aedfa9c6e5344b47379078f0a05dbb05.zip gcc-d55d9ed0aedfa9c6e5344b47379078f0a05dbb05.tar.gz gcc-d55d9ed0aedfa9c6e5344b47379078f0a05dbb05.tar.bz2 |
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
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index d018add..fa96be9 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -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) < 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_a2->seg_len, size_int (diff)); comp_alias_ddrs.ordered_remove (i--); @@ -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 () > PARAM_VALUE (PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS)) - { - 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 false; return true; } |