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.