diff options
author | Felix Yang <fei.yang0953@gmail.com> | 2014-08-11 11:24:35 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-08-11 11:24:35 +0000 |
commit | d4759fc61be363dd5a4cf807298a315ce1e36c40 (patch) | |
tree | a615817b9c4e3d37efb63591c7e213422c370577 /gcc/tree-vect-loop.c | |
parent | b525d9437ff21d934cd930de661b0e6891b49c2c (diff) | |
download | gcc-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.c | 3 |
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)) |