aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-11-25 09:22:47 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-11-25 09:22:47 +0000
commit514c0e7c12d44576796d79079b1ba20844f047b9 (patch)
treeb4495ffa55e2de4c4b7afe9ee070b2547b857131 /gcc/tree-vect-data-refs.c
parent80d39568c54771107ee76d3559d7e4d888bc29a0 (diff)
downloadgcc-514c0e7c12d44576796d79079b1ba20844f047b9.zip
gcc-514c0e7c12d44576796d79079b1ba20844f047b9.tar.gz
gcc-514c0e7c12d44576796d79079b1ba20844f047b9.tar.bz2
re PR tree-optimization/68517 (ICE in tree-vect-data-refs.c:2751)
2015-11-25 Richard Biener <rguenther@suse.de> PR tree-optimization/68517 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Properly handle zero-sized types. * gcc.dg/torture/pr68517.c: New testcase. From-SVN: r230858
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index d788b59..62e61e0 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -2769,7 +2769,8 @@ vect_analyze_data_ref_accesses (vec_info *vinfo)
/* If init_b == init_a + the size of the type * k, we have an
interleaving, and DRA is accessed before DRB. */
HOST_WIDE_INT type_size_a = tree_to_uhwi (sza);
- if ((init_b - init_a) % type_size_a != 0)
+ if (type_size_a == 0
+ || (init_b - init_a) % type_size_a != 0)
break;
/* If we have a store, the accesses are adjacent. This splits