Commit 13c931c9 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/52073 (ICE: vector VEC(vec_void_p,base) index domain…

re PR tree-optimization/52073 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo_for_stmt at tree-vectorizer.h:620)

	PR tree-optimization/52073
	* tree-vect-stmts.c (vect_mark_relevant): When checking uses of
	a pattern stmt for pattern uses, ignore uses outside of the loop.

	* gcc.c-torture/compile/pr52073.c: New test.

From-SVN: r183829
parent 10f5ffa4
2012-02-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/52073
* tree-vect-stmts.c (vect_mark_relevant): When checking uses of
a pattern stmt for pattern uses, ignore uses outside of the loop.
2012-02-01 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c: Resolve all AS1 and AS2 macros.
......
2012-02-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/52073
* gcc.c-torture/compile/pr52073.c: New test.
2012-02-01 Thomas König <tkoenig@gcc.gnu.org>
PR fortran/51958
......
/* PR tree-optimization/52073 */
int a, b, c, d, e, f;
void
foo (int x)
{
e = 1;
for (;;)
{
int g = c;
if (x)
{
if (e)
continue;
while (a)
--f;
}
else
for (b = 5; b; b--)
{
d = g;
g = 0 == d;
}
if (!g)
x = 0;
}
}
......@@ -150,6 +150,8 @@ vect_mark_relevant (VEC(gimple,heap) **worklist, gimple stmt,
use_operand_p use_p;
gimple use_stmt;
tree lhs;
loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info);
struct loop *loop = LOOP_VINFO_LOOP (loop_vinfo);
if (is_gimple_assign (stmt))
lhs = gimple_assign_lhs (stmt);
......@@ -166,6 +168,9 @@ vect_mark_relevant (VEC(gimple,heap) **worklist, gimple stmt,
continue;
use_stmt = USE_STMT (use_p);
if (!flow_bb_inside_loop_p (loop, gimple_bb (use_stmt)))
continue;
if (vinfo_for_stmt (use_stmt)
&& STMT_VINFO_IN_PATTERN_P (vinfo_for_stmt (use_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