the names, just unlink the chain so we don't crash on dangling pointers
to dead SSA names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120837
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-01-16 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssanames.c (release_dead_ssa_names): Instead of ggc_freeing
+ the names, just unlink the chain so we don't crash on dangling pointers
+ to dead SSA names.
+
2007-01-16 Jan Hubicka <jh@suse.cz>
* cgraph.h (cgraph_decide_inlining_incrementally): Kill.
for (t = FREE_SSANAMES (cfun); t; t = next)
{
next = TREE_CHAIN (t);
- ggc_free (t);
+ /* Dangling pointers might make GGC to still see dead SSA names, so it is
+ important to unlink the list and avoid GGC from seeing all subsequent
+ SSA names. In longer run we want to have all dangling pointers here
+ removed (since they usually go trhough dead statements that consume
+ considerable amounts of memory). */
+ TREE_CHAIN (t) = NULL_TREE;
n++;
}
FREE_SSANAMES (cfun) = NULL;