summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-23 09:46:18 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-23 09:46:18 +0000
commita38db81cf6c0cf691cde1e7f8c746a924a38fa1b (patch)
tree5b8e0030d481ca0c60b78591fd6c31ea9c778ce8 /gcc/tree-vect-data-refs.c
parent00dc003762c18d20d455aca4e8736057dcd9ba22 (diff)
downloadgcc-a38db81cf6c0cf691cde1e7f8c746a924a38fa1b.tar.gz
2014-05-23 Richard Biener <rguenther@suse.de>
Backport from mainline 2013-08-30 Richard Biener <rguenther@suse.de> PR tree-optimization/58228 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not allow invariant loads in nested loop vectorization. * gcc.dg/torture/pr58228.c: New testcase. 2013-09-26 Richard Biener <rguenther@suse.de> PR tree-optimization/58539 * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor the fact that debug statements are not taking part in loop-closed SSA construction. * gcc.dg/torture/pr58539.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@210847 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 0faf1a93c9d..07253ec011d 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -2332,6 +2332,12 @@ vect_analyze_data_ref_access (struct data_reference *dr)
if (loop_vinfo && dr_step == 0)
{
GROUP_FIRST_ELEMENT (vinfo_for_stmt (stmt)) = NULL;
+ if (nested_in_vect_loop_p (loop, stmt))
+ {
+ if (vect_print_dump_info (REPORT_DETAILS))
+ fprintf (vect_dump, "zero step in inner loop of nest");
+ return false;
+ }
return DR_IS_READ (dr);
}