aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-slp.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-12-10 13:23:22 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-12-10 13:23:22 +0000
commit41eefe133f91ffeead07774a8f68040135e5fe1c (patch)
treeb8861b76f608e744e7a6f75eb84aede7ae339e5b /gcc/tree-vect-slp.c
parenta868fff102f5a15b6870b67a4776fb2dd149c867 (diff)
downloadgcc-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.c2
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);