http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52255
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-checking
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-02-15
18:10:47 UTC ---
We actually do that, but only at the end of the vectorize_loops after all
vectorization:
mark_sym_for_renaming (gimple_vop (cfun));
+ TODO_update_ssa.
The problem is that this diagnostic is triggered sooner than that, when
gimple_duplicate_loop_to_header_edge calls
#ifdef ENABLE_CHECKING
if (loops_state_satisfies_p (LOOP_CLOSED_SSA))
verify_loop_closed_ssa (true);
#endif
during vect_loop_versioning, and the function that messes up the VOPs which
triggers the checking failure is slpeel_tree_peel_loop_to_edge.
If I change the above to (false), then it passes and generates correct IL.