https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80113
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok, so it looks like this can happen for all not released SSA names given that then may point to dead (and GCed) stmts which may point to BBs that no longer exist. Because we do 1802 /* If this optimization is disabled, we need to coalesce all the 1803 names originating from the same SSA_NAME_VAR so debug info 1804 remains undisturbed. */ 1805 if (!flag_tree_coalesce_vars) 1806 { (gdb) l 1807 hash_table<ssa_name_var_hash> ssa_name_hash (10); 1808 1809 FOR_EACH_SSA_NAME (i, a, cfun) 1810 { 1811 if (SSA_NAME_VAR (a) 1812 && !DECL_IGNORED_P (SSA_NAME_VAR (a)) 1813 && (!has_zero_uses (a) || !SSA_NAME_IS_DEFAULT_DEF (a) 1814 || !VAR_P (SSA_NAME_VAR (a)))) 1815 { and in this case the SSA name is not a default def. The extra oddity with this case is that the def is a PHI which still has a BB assigned. Ah this is because graphite doing gphi *new_phi = create_phi_node (SSA_NAME_VAR (res), new_bb); tree new_res = create_new_def_for (res, new_phi, gimple_phi_result_ptr (new_phi)); set_rename (res, new_res); which is ... eh? Not sure what they are trying to do here...