aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-09-22 17:04:51 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-09-22 17:04:51 +0000
commitea44495d106582b951de1e84d9d7849d3783a56d (patch)
treeb076f5f5fcdbd91d3cf64c00f6c18bb983605c16 /gcc/tree-vect-data-refs.c
parent597fdf45ede583ca1e88ce9f2923673b1238cdf8 (diff)
downloadgcc-ea44495d106582b951de1e84d9d7849d3783a56d.zip
gcc-ea44495d106582b951de1e84d9d7849d3783a56d.tar.gz
gcc-ea44495d106582b951de1e84d9d7849d3783a56d.tar.bz2
PR82289: Computing peeling costs for irrelevant drs
This PR shows that we weren't filtering out irrelevant stmts in vect_get_peeling_costs_all_drs (unlike related loops in which we iterate over all datarefs). 2017-09-22 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/82289 * tree-vect-data-refs.c (vect_get_peeling_costs_all_drs): Check STMT_VINFO_RELEVANT_P. gcc/testsuite/ PR tree-optimization/82289 * gcc.dg/vect/pr82289.c: New test. From-SVN: r253103
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 3c57e5c..c4314a0 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -1326,6 +1326,9 @@ vect_get_peeling_costs_all_drs (vec<data_reference_p> datarefs,
{
gimple *stmt = DR_STMT (dr);
stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
+ if (!STMT_VINFO_RELEVANT_P (stmt_info))
+ continue;
+
/* For interleaving, only the alignment of the first access
matters. */
if (STMT_VINFO_GROUPED_ACCESS (stmt_info)