diff options
author | Richard Biener <rguenther@suse.de> | 2015-11-25 09:22:47 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-11-25 09:22:47 +0000 |
commit | 514c0e7c12d44576796d79079b1ba20844f047b9 (patch) | |
tree | b4495ffa55e2de4c4b7afe9ee070b2547b857131 /gcc/tree-vect-data-refs.c | |
parent | 80d39568c54771107ee76d3559d7e4d888bc29a0 (diff) | |
download | gcc-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.c | 3 |
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 |