Avoid optimized out references to appear in lto symbol table
Tue Oct 4 11:53:00 GMT 2011
2011/10/2 Jan Hubicka <email@example.com>:
>> > Index: tree-sra.c
>> > ===================================================================
>> > *** tree-sra.c (revision 179423)
>> > --- tree-sra.c (working copy)
>> > *************** modify_function (struct cgraph_node *nod
>> > *** 4622,4627 ****
>> > --- 4622,4628 ----
>> > VEC (cgraph_edge_p, heap) * redirect_callers = collect_callers_of_node (node);
>> > rebuild_cgraph_edges ();
>> > + free_dominance_info (CDI_DOMINATORS);
>> > pop_cfun ();
>> > current_function_decl = NULL_TREE;
>> Extra change to tree-sra, not in ChangeLog. Is this hunk needed? Or
>> unrelated fix for something else?
> It is needed - cgraph_remove_function sanity check that dminance info is clear and it is leaking here.
> In the version I comitted there is changelog entry, so this must've been next-to-last diff. Sorry
> for confussion.
But we don't free dominance information when it is correct. So please don't
do that. Instead remove the sanity check and simply remove dominance
information when you remove the function isntead.
More information about the Gcc-patches