aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorFelix Yang <fei.yang0953@gmail.com>2014-08-11 11:24:35 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-08-11 11:24:35 +0000
commitd4759fc61be363dd5a4cf807298a315ce1e36c40 (patch)
treea615817b9c4e3d37efb63591c7e213422c370577 /gcc/tree-vect-loop.c
parentb525d9437ff21d934cd930de661b0e6891b49c2c (diff)
downloadgcc-d4759fc61be363dd5a4cf807298a315ce1e36c40.zip
gcc-d4759fc61be363dd5a4cf807298a315ce1e36c40.tar.gz
gcc-d4759fc61be363dd5a4cf807298a315ce1e36c40.tar.bz2
re PR c/62073 (Segmentation fault with tree vectorize)
2014-08-11 Felix Yang <fei.yang0953@gmail.com> PR tree-optimization/62073 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has a basic block. * gcc.dg/vect/pr62073.c: New test. From-SVN: r213812
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 7e013f3..fd1166f 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -2321,7 +2321,8 @@ vect_is_simple_reduction_1 (loop_vec_info loop_info, gimple phi,
}
def1 = SSA_NAME_DEF_STMT (op1);
- if (flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
+ if (gimple_bb (def1)
+ && flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& loop->inner
&& flow_bb_inside_loop_p (loop->inner, gimple_bb (def1))
&& is_gimple_assign (def1))