diff options
author | Richard Biener <rguenther@suse.de> | 2018-10-08 12:29:51 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-10-08 12:29:51 +0000 |
commit | 269ba95042e9fa35f6fa4c8270339bb932e8f7e9 (patch) | |
tree | 3350b6f9558f9fcc05eaac7091a9b4ad4dd106c2 /gcc | |
parent | aca0dcde1ff2b81eb6335bdf2e8ae73f7519c99a (diff) | |
download | gcc-269ba95042e9fa35f6fa4c8270339bb932e8f7e9.zip gcc-269ba95042e9fa35f6fa4c8270339bb932e8f7e9.tar.gz gcc-269ba95042e9fa35f6fa4c8270339bb932e8f7e9.tar.bz2 |
tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Open a dump scope.
2018-10-08 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
Open a dump scope.
* tree-vectorizer.c (dump_stmt_cost): Add cost param and dump it.
* tree-vectorizer.h (dump_stmt_cost): Adjust.
(add_stmt_cost): Dump return value of the hook.
From-SVN: r264923
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree-vect-loop.c | 2 | ||||
-rw-r--r-- | gcc/tree-vectorizer.c | 3 | ||||
-rw-r--r-- | gcc/tree-vectorizer.h | 11 |
4 files changed, 19 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e53b795..b7265c0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2018-10-08 Richard Biener <rguenther@suse.de> + * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): + Open a dump scope. + * tree-vectorizer.c (dump_stmt_cost): Add cost param and dump it. + * tree-vectorizer.h (dump_stmt_cost): Adjust. + (add_stmt_cost): Dump return value of the hook. + +2018-10-08 Richard Biener <rguenther@suse.de> + PR tree-optimization/63155 * tree-ssa-propagate.c (add_ssa_edge): Do cheap check first. (ssa_propagation_engine::ssa_propagate): Remove redundant diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 6ea1e77..177b284 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -1072,6 +1072,8 @@ vect_compute_single_scalar_iteration_cost (loop_vec_info loop_vinfo) int nbbs = loop->num_nodes, factor; int innerloop_iters, i; + DUMP_VECT_SCOPE ("vect_compute_single_scalar_iteration_cost"); + /* Gather costs for statements in the scalar loop. */ /* FORNOW. */ diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 747fb67..0ab366b 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -89,7 +89,7 @@ dump_user_location_t vect_location; void dump_stmt_cost (FILE *f, void *data, int count, enum vect_cost_for_stmt kind, - stmt_vec_info stmt_info, int misalign, + stmt_vec_info stmt_info, int misalign, unsigned cost, enum vect_cost_model_location where) { fprintf (f, "%p ", data); @@ -159,6 +159,7 @@ dump_stmt_cost (FILE *f, void *data, int count, enum vect_cost_for_stmt kind, fprintf (f, "%s ", ks); if (kind == unaligned_load || kind == unaligned_store) fprintf (f, "(misalign %d) ", misalign); + fprintf (f, "costs %u ", cost); const char *ws = "unknown"; switch (where) { diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 63cff79..9884568 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -1199,7 +1199,8 @@ init_cost (struct loop *loop_info) } extern void dump_stmt_cost (FILE *, void *, int, enum vect_cost_for_stmt, - stmt_vec_info, int, enum vect_cost_model_location); + stmt_vec_info, int, unsigned, + enum vect_cost_model_location); /* Alias targetm.vectorize.add_stmt_cost. */ @@ -1208,10 +1209,12 @@ add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind, stmt_vec_info stmt_info, int misalign, enum vect_cost_model_location where) { + unsigned cost = targetm.vectorize.add_stmt_cost (data, count, kind, + stmt_info, misalign, where); if (dump_file && (dump_flags & TDF_DETAILS)) - dump_stmt_cost (dump_file, data, count, kind, stmt_info, misalign, where); - return targetm.vectorize.add_stmt_cost (data, count, kind, - stmt_info, misalign, where); + dump_stmt_cost (dump_file, data, count, kind, stmt_info, misalign, + cost, where); + return cost; } /* Alias targetm.vectorize.finish_cost. */ |