http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46931
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-14 08:04:54 UTC --- I think the actual problem was introduced in PR46172 commit, with the addition of remove_dead_stmts_from_loop, as we now DCE what we have created during the vectorization. This function gsi_removes a stmt and then calls release_defs, which does nothing though, because the SSA_NAME is name_registered_for_update_p, so the release of it is deferred. But when delete_update_ssa attempts to release the SSANAME afterwards, the bb for the stmt is already NULL and so gsi_for_stmt fails. Not sure if there is something wrong on the remove_dead_stmts_from_loop side, or if just releasing what has been created in the same pass has never been done before and we should make insert_debug_temp_for_var_def do nothing if gsi is NULL and def_stmt has NULL gimple_bb and the RHS isn't a constant.