aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorIra Rosen <ira.rosen@linaro.org>2011-07-03 10:14:55 +0000
committerIra Rosen <irar@gcc.gnu.org>2011-07-03 10:14:55 +0000
commitb5066d8b10e81faa393606695d09efd9edcf5def (patch)
tree58fbf7c4d3dd85e6059ee001a23d696143d856d7 /gcc/tree-vect-loop.c
parenta23d1a65efa3975dd707a9c63cebcd1024e560e3 (diff)
downloadgcc-b5066d8b10e81faa393606695d09efd9edcf5def.zip
gcc-b5066d8b10e81faa393606695d09efd9edcf5def.tar.gz
gcc-b5066d8b10e81faa393606695d09efd9edcf5def.tar.bz2
re PR tree-optimization/49610 (Segfault with -ftree-vectorize (or -O3))
PR tree-optimization/49610 * tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has a basic block. From-SVN: r175786
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 0352607..63b3469 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -1823,6 +1823,7 @@ vect_is_slp_reduction (loop_vec_info loop_info, gimple phi, gimple first_stmt)
("vect_internal_def"), or it's an induction (defined by a
loop-header phi-node). */
if (def_stmt
+ && gimple_bb (def_stmt)
&& flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& (is_gimple_assign (def_stmt)
|| is_gimple_call (def_stmt)
@@ -1852,6 +1853,7 @@ vect_is_slp_reduction (loop_vec_info loop_info, gimple phi, gimple first_stmt)
("vect_internal_def"), or it's an induction (defined by a
loop-header phi-node). */
if (def_stmt
+ && gimple_bb (def_stmt)
&& flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& (is_gimple_assign (def_stmt)
|| is_gimple_call (def_stmt)