diff options
author | Richard Biener <rguenther@suse.de> | 2015-12-10 13:23:22 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-12-10 13:23:22 +0000 |
commit | 41eefe133f91ffeead07774a8f68040135e5fe1c (patch) | |
tree | b8861b76f608e744e7a6f75eb84aede7ae339e5b /gcc/tree-vect-slp.c | |
parent | a868fff102f5a15b6870b67a4776fb2dd149c867 (diff) | |
download | gcc-41eefe133f91ffeead07774a8f68040135e5fe1c.zip gcc-41eefe133f91ffeead07774a8f68040135e5fe1c.tar.gz gcc-41eefe133f91ffeead07774a8f68040135e5fe1c.tar.bz2 |
re PR tree-optimization/68817 (internal compiler error: Segmentation fault (program f951))
2015-12-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/68817
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect
gaps early.
* gfortran.dg/pr68817.f90: New testcase.
From-SVN: r231508
Diffstat (limited to 'gcc/tree-vect-slp.c')
-rw-r--r-- | gcc/tree-vect-slp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index b893682..5be2f90 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -1237,6 +1237,8 @@ vect_attempt_slp_rearrange_stmts (slp_instance slp_instn) bitmap_clear (load_index); FOR_EACH_VEC_ELT (node->load_permutation, i, lidx) { + if (lidx >= group_size) + return false; if (bitmap_bit_p (load_index, lidx)) { sbitmap_free (load_index); |