aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-10-08 12:29:51 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-10-08 12:29:51 +0000
commit269ba95042e9fa35f6fa4c8270339bb932e8f7e9 (patch)
tree3350b6f9558f9fcc05eaac7091a9b4ad4dd106c2 /gcc
parentaca0dcde1ff2b81eb6335bdf2e8ae73f7519c99a (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/tree-vect-loop.c2
-rw-r--r--gcc/tree-vectorizer.c3
-rw-r--r--gcc/tree-vectorizer.h11
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. */