Commit 915794eb by Alan Hayward Committed by Alan Hayward

re PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on…

re PR tree-optimization/71416 (ICE at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (vectorizable_live_operation))

2016-06-13  Alan Hayward  <alan.hayward@arm.com>

gcc/
	PR tree-optimization/71416
	* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
	multiple entries

From-SVN: r237375
parent 46c1cff6
2016-06-13 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71416
* tree-vect-loop.c (vectorizable_live_operation): Let worklist have
multiple entries
2016-06-13 Martin Liska <mliska@suse.cz> 2016-06-13 Martin Liska <mliska@suse.cz>
* predict.c (enum predictor_reason): Prefix enum with REASON_. * predict.c (enum predictor_reason): Prefix enum with REASON_.
......
...@@ -6351,7 +6351,7 @@ vectorizable_live_operation (gimple *stmt, ...@@ -6351,7 +6351,7 @@ vectorizable_live_operation (gimple *stmt,
FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, lhs) FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, lhs)
if (!flow_bb_inside_loop_p (loop, gimple_bb (use_stmt))) if (!flow_bb_inside_loop_p (loop, gimple_bb (use_stmt)))
worklist.safe_push (use_stmt); worklist.safe_push (use_stmt);
gcc_assert (worklist.length () == 1); gcc_assert (worklist.length () >= 1);
bitsize = TYPE_SIZE (TREE_TYPE (vectype)); bitsize = TYPE_SIZE (TREE_TYPE (vectype));
vec_bitsize = TYPE_SIZE (vectype); vec_bitsize = TYPE_SIZE (vectype);
...@@ -6409,9 +6409,12 @@ vectorizable_live_operation (gimple *stmt, ...@@ -6409,9 +6409,12 @@ vectorizable_live_operation (gimple *stmt,
/* Replace all uses of the USE_STMT in the worklist with the newly inserted /* Replace all uses of the USE_STMT in the worklist with the newly inserted
statement. */ statement. */
use_stmt = worklist.pop (); while (!worklist.is_empty ())
replace_uses_by (gimple_phi_result (use_stmt), new_tree); {
update_stmt (use_stmt); use_stmt = worklist.pop ();
replace_uses_by (gimple_phi_result (use_stmt), new_tree);
update_stmt (use_stmt);
}
return true; return true;
} }
......
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