Commit b5066d8b by Ira Rosen Committed by Ira Rosen

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
parent a23d1a65
2011-07-03 Ira Rosen <ira.rosen@linaro.org>
PR tree-optimization/49610
* tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has
a basic block.
2011-07-02 Eric Botcazou <ebotcazou@adacore.com> 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
Olivier Hainque <hainque@adacore.com> Olivier Hainque <hainque@adacore.com>
Nicolas Setton <setton@adacore.com> Nicolas Setton <setton@adacore.com>
......
2011-07-03 Ira Rosen <ira.rosen@linaro.org>
PR tree-optimization/49610
* gcc.dg/vect/pr49610.c: New test.
2011-07-02 Eric Botcazou <ebotcazou@adacore.com> 2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/debug1.ads: New test. * gnat.dg/specs/debug1.ads: New test.
......
/* { dg-do compile } */
extern int g_7;
void func_13(int p_17) {
int i;
for (i=0; i < 16; i = (signed char)(i+1)) {
g_7 &= p_17;
g_7 &= (p_17 > 1);
}
}
/* { dg-final { cleanup-tree-dump "vect" } } */
...@@ -1823,6 +1823,7 @@ vect_is_slp_reduction (loop_vec_info loop_info, gimple phi, gimple first_stmt) ...@@ -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 ("vect_internal_def"), or it's an induction (defined by a
loop-header phi-node). */ loop-header phi-node). */
if (def_stmt if (def_stmt
&& gimple_bb (def_stmt)
&& flow_bb_inside_loop_p (loop, gimple_bb (def_stmt)) && flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& (is_gimple_assign (def_stmt) && (is_gimple_assign (def_stmt)
|| is_gimple_call (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) ...@@ -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 ("vect_internal_def"), or it's an induction (defined by a
loop-header phi-node). */ loop-header phi-node). */
if (def_stmt if (def_stmt
&& gimple_bb (def_stmt)
&& flow_bb_inside_loop_p (loop, gimple_bb (def_stmt)) && flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& (is_gimple_assign (def_stmt) && (is_gimple_assign (def_stmt)
|| is_gimple_call (def_stmt) || is_gimple_call (def_stmt)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment