Introduce DUMP_VECT_SCOPE macro

gcc/ChangeLog:
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
	Replace dump_printf_loc call with DUMP_VECT_SCOPE.
	(vect_slp_analyze_instance_dependence): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.
	(vect_analyze_data_refs_alignment): Likewise.
	(vect_slp_analyze_and_verify_instance_alignment
	(vect_analyze_data_ref_accesses): Likewise.
	(vect_prune_runtime_alias_test_list): Likewise.
	(vect_analyze_data_refs): Likewise.
	* tree-vect-loop-manip.c (vect_update_inits_of_drs): Likewise.
	* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
	(vect_analyze_scalar_cycles_1): Likewise.
	(vect_get_loop_niters): Likewise.
	(vect_analyze_loop_form_1): Likewise.
	(vect_update_vf_for_slp): Likewise.
	(vect_analyze_loop_operations): Likewise.
	(vect_analyze_loop): Likewise.
	(vectorizable_induction): Likewise.
	(vect_transform_loop): Likewise.
	* tree-vect-patterns.c (vect_pattern_recog): Likewise.
	* tree-vect-slp.c (vect_analyze_slp): Likewise.
	(vect_make_slp_decision): Likewise.
	(vect_detect_hybrid_slp): Likewise.
	(vect_slp_analyze_operations): Likewise.
	(vect_slp_bb): Likewise.
	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
	(vectorizable_bswap): Likewise.
	(vectorizable_call): Likewise.
	(vectorizable_simd_clone_call): Likewise.
	(vectorizable_conversion): Likewise.
	(vectorizable_assignment): Likewise.
	(vectorizable_shift): Likewise.
	(vectorizable_operation): Likewise.
	* tree-vectorizer.h (DUMP_VECT_SCOPE): New macro.

From-SVN: r261710
This commit is contained in:
David Malcolm 2018-06-18 18:49:40 +00:00 committed by David Malcolm
parent 5d4d0be813
commit adac3a685d
8 changed files with 80 additions and 96 deletions

View file

@ -1,3 +1,40 @@
2018-06-18 David Malcolm <dmalcolm@redhat.com>
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
Replace dump_printf_loc call with DUMP_VECT_SCOPE.
(vect_slp_analyze_instance_dependence): Likewise.
(vect_enhance_data_refs_alignment): Likewise.
(vect_analyze_data_refs_alignment): Likewise.
(vect_slp_analyze_and_verify_instance_alignment
(vect_analyze_data_ref_accesses): Likewise.
(vect_prune_runtime_alias_test_list): Likewise.
(vect_analyze_data_refs): Likewise.
* tree-vect-loop-manip.c (vect_update_inits_of_drs): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
(vect_analyze_scalar_cycles_1): Likewise.
(vect_get_loop_niters): Likewise.
(vect_analyze_loop_form_1): Likewise.
(vect_update_vf_for_slp): Likewise.
(vect_analyze_loop_operations): Likewise.
(vect_analyze_loop): Likewise.
(vectorizable_induction): Likewise.
(vect_transform_loop): Likewise.
* tree-vect-patterns.c (vect_pattern_recog): Likewise.
* tree-vect-slp.c (vect_analyze_slp): Likewise.
(vect_make_slp_decision): Likewise.
(vect_detect_hybrid_slp): Likewise.
(vect_slp_analyze_operations): Likewise.
(vect_slp_bb): Likewise.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
(vectorizable_bswap): Likewise.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
* tree-vectorizer.h (DUMP_VECT_SCOPE): New macro.
2018-06-18 Martin Sebor <msebor@redhat.com> 2018-06-18 Martin Sebor <msebor@redhat.com>
PR tree-optimization/81384 PR tree-optimization/81384

View file

@ -562,9 +562,7 @@ vect_analyze_data_ref_dependences (loop_vec_info loop_vinfo,
unsigned int i; unsigned int i;
struct data_dependence_relation *ddr; struct data_dependence_relation *ddr;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_data_ref_dependences");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_data_ref_dependences ===\n");
LOOP_VINFO_DDRS (loop_vinfo) LOOP_VINFO_DDRS (loop_vinfo)
.create (LOOP_VINFO_DATAREFS (loop_vinfo).length () .create (LOOP_VINFO_DATAREFS (loop_vinfo).length ()
@ -741,9 +739,7 @@ vect_slp_analyze_node_dependences (slp_instance instance, slp_tree node,
bool bool
vect_slp_analyze_instance_dependence (slp_instance instance) vect_slp_analyze_instance_dependence (slp_instance instance)
{ {
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_slp_analyze_instance_dependence");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_slp_analyze_instance_dependence ===\n");
/* The stores of this instance are at the root of the SLP tree. */ /* The stores of this instance are at the root of the SLP tree. */
slp_tree store = SLP_INSTANCE_TREE (instance); slp_tree store = SLP_INSTANCE_TREE (instance);
@ -1685,9 +1681,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
unsigned int mis, same_align_drs_max = 0; unsigned int mis, same_align_drs_max = 0;
hash_table<peel_info_hasher> peeling_htab (1); hash_table<peel_info_hasher> peeling_htab (1);
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_enhance_data_refs_alignment");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_enhance_data_refs_alignment ===\n");
/* Reset data so we can safely be called multiple times. */ /* Reset data so we can safely be called multiple times. */
LOOP_VINFO_MAY_MISALIGN_STMTS (loop_vinfo).truncate (0); LOOP_VINFO_MAY_MISALIGN_STMTS (loop_vinfo).truncate (0);
@ -2345,9 +2339,7 @@ vect_find_same_alignment_drs (struct data_dependence_relation *ddr)
bool bool
vect_analyze_data_refs_alignment (loop_vec_info vinfo) vect_analyze_data_refs_alignment (loop_vec_info vinfo)
{ {
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_data_refs_alignment");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_data_refs_alignment ===\n");
/* Mark groups of data references with same alignment using /* Mark groups of data references with same alignment using
data dependence information. */ data dependence information. */
@ -2426,9 +2418,7 @@ vect_slp_analyze_and_verify_node_alignment (slp_tree node)
bool bool
vect_slp_analyze_and_verify_instance_alignment (slp_instance instance) vect_slp_analyze_and_verify_instance_alignment (slp_instance instance)
{ {
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_slp_analyze_and_verify_instance_alignment");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_slp_analyze_and_verify_instance_alignment ===\n");
slp_tree node; slp_tree node;
unsigned i; unsigned i;
@ -2931,9 +2921,7 @@ vect_analyze_data_ref_accesses (vec_info *vinfo)
vec<data_reference_p> datarefs = vinfo->datarefs; vec<data_reference_p> datarefs = vinfo->datarefs;
struct data_reference *dr; struct data_reference *dr;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_data_ref_accesses");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_data_ref_accesses ===\n");
if (datarefs.is_empty ()) if (datarefs.is_empty ())
return true; return true;
@ -3379,9 +3367,7 @@ vect_prune_runtime_alias_test_list (loop_vec_info loop_vinfo)
unsigned int i; unsigned int i;
tree length_factor; tree length_factor;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_prune_runtime_alias_test_list");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_prune_runtime_alias_test_list ===\n");
/* Step values are irrelevant for aliasing if the number of vector /* Step values are irrelevant for aliasing if the number of vector
iterations is equal to the number of scalar iterations (which can iterations is equal to the number of scalar iterations (which can
@ -4075,9 +4061,7 @@ vect_analyze_data_refs (vec_info *vinfo, poly_uint64 *min_vf)
struct data_reference *dr; struct data_reference *dr;
tree scalar_type; tree scalar_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_data_refs");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_data_refs ===\n");
if (loop_vec_info loop_vinfo = dyn_cast <loop_vec_info> (vinfo)) if (loop_vec_info loop_vinfo = dyn_cast <loop_vec_info> (vinfo))
loop = LOOP_VINFO_LOOP (loop_vinfo); loop = LOOP_VINFO_LOOP (loop_vinfo);

View file

@ -1733,9 +1733,7 @@ vect_update_inits_of_drs (loop_vec_info loop_vinfo, tree niters,
vec<data_reference_p> datarefs = LOOP_VINFO_DATAREFS (loop_vinfo); vec<data_reference_p> datarefs = LOOP_VINFO_DATAREFS (loop_vinfo);
struct data_reference *dr; struct data_reference *dr;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_update_inits_of_dr");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_update_inits_of_dr ===\n");
/* Adjust niters to sizetype and insert stmts on loop preheader edge. */ /* Adjust niters to sizetype and insert stmts on loop preheader edge. */
if (!types_compatible_p (sizetype, TREE_TYPE (niters))) if (!types_compatible_p (sizetype, TREE_TYPE (niters)))

View file

@ -296,9 +296,7 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo)
unsigned i; unsigned i;
auto_vec<stmt_vec_info> mask_producers; auto_vec<stmt_vec_info> mask_producers;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_determine_vectorization_factor");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_determine_vectorization_factor ===\n");
for (i = 0; i < nbbs; i++) for (i = 0; i < nbbs; i++)
{ {
@ -479,9 +477,7 @@ vect_analyze_scalar_cycles_1 (loop_vec_info loop_vinfo, struct loop *loop)
gphi_iterator gsi; gphi_iterator gsi;
bool double_reduc; bool double_reduc;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_scalar_cycles");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_scalar_cycles ===\n");
/* First - identify all inductions. Reduction detection assumes that all the /* First - identify all inductions. Reduction detection assumes that all the
inductions have been identified, therefore, this order must not be inductions have been identified, therefore, this order must not be
@ -727,9 +723,7 @@ vect_get_loop_niters (struct loop *loop, tree *assumptions,
*assumptions = boolean_true_node; *assumptions = boolean_true_node;
*number_of_iterationsm1 = chrec_dont_know; *number_of_iterationsm1 = chrec_dont_know;
*number_of_iterations = chrec_dont_know; *number_of_iterations = chrec_dont_know;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("get_loop_niters");
dump_printf_loc (MSG_NOTE, vect_location,
"=== get_loop_niters ===\n");
if (!exit) if (!exit)
return cond; return cond;
@ -1170,9 +1164,7 @@ vect_analyze_loop_form_1 (struct loop *loop, gcond **loop_cond,
tree *assumptions, tree *number_of_iterationsm1, tree *assumptions, tree *number_of_iterationsm1,
tree *number_of_iterations, gcond **inner_loop_cond) tree *number_of_iterations, gcond **inner_loop_cond)
{ {
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_loop_form");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_loop_form ===\n");
/* Different restrictions apply when we are considering an inner-most loop, /* Different restrictions apply when we are considering an inner-most loop,
vs. an outer (nested) loop. vs. an outer (nested) loop.
@ -1422,9 +1414,7 @@ vect_update_vf_for_slp (loop_vec_info loop_vinfo)
poly_uint64 vectorization_factor; poly_uint64 vectorization_factor;
int i; int i;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_update_vf_for_slp");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_update_vf_for_slp ===\n");
vectorization_factor = LOOP_VINFO_VECT_FACTOR (loop_vinfo); vectorization_factor = LOOP_VINFO_VECT_FACTOR (loop_vinfo);
gcc_assert (known_ne (vectorization_factor, 0U)); gcc_assert (known_ne (vectorization_factor, 0U));
@ -1527,9 +1517,7 @@ vect_analyze_loop_operations (loop_vec_info loop_vinfo)
bool need_to_vectorize = false; bool need_to_vectorize = false;
bool ok; bool ok;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_loop_operations");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_analyze_loop_operations ===\n");
stmt_vector_for_cost cost_vec; stmt_vector_for_cost cost_vec;
cost_vec.create (2); cost_vec.create (2);
@ -2308,9 +2296,7 @@ vect_analyze_loop (struct loop *loop, loop_vec_info orig_loop_vinfo)
targetm.vectorize.autovectorize_vector_sizes (&vector_sizes); targetm.vectorize.autovectorize_vector_sizes (&vector_sizes);
unsigned int next_size = 0; unsigned int next_size = 0;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("analyze_loop_nest");
dump_printf_loc (MSG_NOTE, vect_location,
"===== analyze_loop_nest =====\n");
if (loop_outer (loop) if (loop_outer (loop)
&& loop_vec_info_for_loop (loop_outer (loop)) && loop_vec_info_for_loop (loop_outer (loop))
@ -7460,9 +7446,7 @@ vectorizable_induction (gimple *phi,
if (!vec_stmt) /* transformation not required. */ if (!vec_stmt) /* transformation not required. */
{ {
STMT_VINFO_TYPE (stmt_info) = induc_vec_info_type; STMT_VINFO_TYPE (stmt_info) = induc_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_induction");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_induction ===\n");
vect_model_induction_cost (stmt_info, ncopies, cost_vec); vect_model_induction_cost (stmt_info, ncopies, cost_vec);
return true; return true;
} }
@ -8335,8 +8319,7 @@ vect_transform_loop (loop_vec_info loop_vinfo)
bool check_profitability = false; bool check_profitability = false;
unsigned int th; unsigned int th;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vec_transform_loop");
dump_printf_loc (MSG_NOTE, vect_location, "=== vec_transform_loop ===\n");
/* Use the more conservative vectorization threshold. If the number /* Use the more conservative vectorization threshold. If the number
of iterations is constant assume the cost check has been performed of iterations is constant assume the cost check has been performed
@ -8618,9 +8601,7 @@ vect_transform_loop (loop_vec_info loop_vinfo)
{ {
slp_scheduled = true; slp_scheduled = true;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("scheduling SLP instances");
dump_printf_loc (MSG_NOTE, vect_location,
"=== scheduling SLP instances ===\n");
vect_schedule_slp (loop_vinfo); vect_schedule_slp (loop_vinfo);
} }

View file

@ -4670,9 +4670,7 @@ vect_pattern_recog (vec_info *vinfo)
auto_vec<gimple *, 1> stmts_to_replace; auto_vec<gimple *, 1> stmts_to_replace;
gimple *stmt; gimple *stmt;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_pattern_recog");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_pattern_recog ===\n");
if (loop_vec_info loop_vinfo = dyn_cast <loop_vec_info> (vinfo)) if (loop_vec_info loop_vinfo = dyn_cast <loop_vec_info> (vinfo))
{ {

View file

@ -2177,8 +2177,7 @@ vect_analyze_slp (vec_info *vinfo, unsigned max_tree_size)
unsigned int i; unsigned int i;
gimple *first_element; gimple *first_element;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_analyze_slp");
dump_printf_loc (MSG_NOTE, vect_location, "=== vect_analyze_slp ===\n");
/* Find SLP sequences starting from groups of grouped stores. */ /* Find SLP sequences starting from groups of grouped stores. */
FOR_EACH_VEC_ELT (vinfo->grouped_stores, i, first_element) FOR_EACH_VEC_ELT (vinfo->grouped_stores, i, first_element)
@ -2231,9 +2230,7 @@ vect_make_slp_decision (loop_vec_info loop_vinfo)
slp_instance instance; slp_instance instance;
int decided_to_slp = 0; int decided_to_slp = 0;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_make_slp_decision");
dump_printf_loc (MSG_NOTE, vect_location, "=== vect_make_slp_decision ==="
"\n");
FOR_EACH_VEC_ELT (slp_instances, i, instance) FOR_EACH_VEC_ELT (slp_instances, i, instance)
{ {
@ -2399,9 +2396,7 @@ vect_detect_hybrid_slp (loop_vec_info loop_vinfo)
vec<slp_instance> slp_instances = LOOP_VINFO_SLP_INSTANCES (loop_vinfo); vec<slp_instance> slp_instances = LOOP_VINFO_SLP_INSTANCES (loop_vinfo);
slp_instance instance; slp_instance instance;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_detect_hybrid_slp");
dump_printf_loc (MSG_NOTE, vect_location, "=== vect_detect_hybrid_slp ==="
"\n");
/* First walk all pattern stmt in the loop and mark defs of uses as /* First walk all pattern stmt in the loop and mark defs of uses as
hybrid because immediate uses in them are not recorded. */ hybrid because immediate uses in them are not recorded. */
@ -2622,9 +2617,7 @@ vect_slp_analyze_operations (vec_info *vinfo)
slp_instance instance; slp_instance instance;
int i; int i;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_slp_analyze_operations");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_slp_analyze_operations ===\n");
scalar_stmts_to_slp_tree_map_t *visited scalar_stmts_to_slp_tree_map_t *visited
= new scalar_stmts_to_slp_tree_map_t (); = new scalar_stmts_to_slp_tree_map_t ();
@ -2981,8 +2974,7 @@ vect_slp_bb (basic_block bb)
bool any_vectorized = false; bool any_vectorized = false;
auto_vector_sizes vector_sizes; auto_vector_sizes vector_sizes;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_slp_analyze_bb");
dump_printf_loc (MSG_NOTE, vect_location, "===vect_slp_analyze_bb===\n");
/* Autodetect first vector size we try. */ /* Autodetect first vector size we try. */
current_vector_size = 0; current_vector_size = 0;

View file

@ -640,9 +640,7 @@ vect_mark_stmts_to_be_vectorized (loop_vec_info loop_vinfo)
bool live_p; bool live_p;
enum vect_relevant relevant; enum vect_relevant relevant;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vect_mark_stmts_to_be_vectorized");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vect_mark_stmts_to_be_vectorized ===\n");
auto_vec<gimple *, 64> worklist; auto_vec<gimple *, 64> worklist;
@ -3027,9 +3025,7 @@ vectorizable_bswap (gimple *stmt, gimple_stmt_iterator *gsi,
if (! vec_stmt) if (! vec_stmt)
{ {
STMT_VINFO_TYPE (stmt_info) = call_vec_info_type; STMT_VINFO_TYPE (stmt_info) = call_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_bswap");
dump_printf_loc (MSG_NOTE, vect_location, "=== vectorizable_bswap ==="
"\n");
if (! slp_node) if (! slp_node)
{ {
record_stmt_cost (cost_vec, record_stmt_cost (cost_vec,
@ -3346,9 +3342,7 @@ vectorizable_call (gimple *gs, gimple_stmt_iterator *gsi, gimple **vec_stmt,
if (!vec_stmt) /* transformation not required. */ if (!vec_stmt) /* transformation not required. */
{ {
STMT_VINFO_TYPE (stmt_info) = call_vec_info_type; STMT_VINFO_TYPE (stmt_info) = call_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_call");
dump_printf_loc (MSG_NOTE, vect_location, "=== vectorizable_call ==="
"\n");
vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec); vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec);
if (ifn != IFN_LAST && modifier == NARROW && !slp_node) if (ifn != IFN_LAST && modifier == NARROW && !slp_node)
record_stmt_cost (cost_vec, ncopies / 2, record_stmt_cost (cost_vec, ncopies / 2,
@ -4023,9 +4017,7 @@ vectorizable_simd_clone_call (gimple *stmt, gimple_stmt_iterator *gsi,
STMT_VINFO_SIMD_CLONE_INFO (stmt_info).safe_push (sll); STMT_VINFO_SIMD_CLONE_INFO (stmt_info).safe_push (sll);
} }
STMT_VINFO_TYPE (stmt_info) = call_simd_clone_vec_info_type; STMT_VINFO_TYPE (stmt_info) = call_simd_clone_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_simd_clone_call");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_simd_clone_call ===\n");
/* vect_model_simple_cost (stmt_info, ncopies, dt, slp_node, cost_vec); */ /* vect_model_simple_cost (stmt_info, ncopies, dt, slp_node, cost_vec); */
return true; return true;
} }
@ -4865,9 +4857,7 @@ vectorizable_conversion (gimple *stmt, gimple_stmt_iterator *gsi,
if (!vec_stmt) /* transformation not required. */ if (!vec_stmt) /* transformation not required. */
{ {
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_conversion");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_conversion ===\n");
if (code == FIX_TRUNC_EXPR || code == FLOAT_EXPR) if (code == FIX_TRUNC_EXPR || code == FLOAT_EXPR)
{ {
STMT_VINFO_TYPE (stmt_info) = type_conversion_vec_info_type; STMT_VINFO_TYPE (stmt_info) = type_conversion_vec_info_type;
@ -5279,9 +5269,7 @@ vectorizable_assignment (gimple *stmt, gimple_stmt_iterator *gsi,
if (!vec_stmt) /* transformation not required. */ if (!vec_stmt) /* transformation not required. */
{ {
STMT_VINFO_TYPE (stmt_info) = assignment_vec_info_type; STMT_VINFO_TYPE (stmt_info) = assignment_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_assignment");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_assignment ===\n");
vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec); vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec);
return true; return true;
} }
@ -5644,9 +5632,7 @@ vectorizable_shift (gimple *stmt, gimple_stmt_iterator *gsi,
if (!vec_stmt) /* transformation not required. */ if (!vec_stmt) /* transformation not required. */
{ {
STMT_VINFO_TYPE (stmt_info) = shift_vec_info_type; STMT_VINFO_TYPE (stmt_info) = shift_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_shift");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_shift ===\n");
vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec); vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec);
return true; return true;
} }
@ -5968,9 +5954,7 @@ vectorizable_operation (gimple *stmt, gimple_stmt_iterator *gsi,
if (!vec_stmt) /* transformation not required. */ if (!vec_stmt) /* transformation not required. */
{ {
STMT_VINFO_TYPE (stmt_info) = op_vec_info_type; STMT_VINFO_TYPE (stmt_info) = op_vec_info_type;
if (dump_enabled_p ()) DUMP_VECT_SCOPE ("vectorizable_operation");
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_operation ===\n");
vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec); vect_model_simple_cost (stmt_info, ncopies, dt, ndts, slp_node, cost_vec);
return true; return true;
} }

View file

@ -1425,6 +1425,16 @@ vect_get_scalar_dr_size (struct data_reference *dr)
/* Source location */ /* Source location */
extern source_location vect_location; extern source_location vect_location;
/* If dumping is enabled, emit a MSG_NOTE at vect_location about
entering MSG within the vectorizer. MSG should be a string literal. */
#define DUMP_VECT_SCOPE(MSG) \
do { \
if (dump_enabled_p ()) \
dump_printf_loc (MSG_NOTE, vect_location, \
"=== " MSG " ===\n"); \
} while (0)
/*-----------------------------------------------------------------*/ /*-----------------------------------------------------------------*/
/* Function prototypes. */ /* Function prototypes. */
/*-----------------------------------------------------------------*/ /*-----------------------------------------------------------------*/