> We use lto_file_data in 1to1 partitioning, so we need to not zero it > out. Nothing depends on lto_file_data being NULL. > > gcc/ChangeLog: > > * cgraph.cc (cgraph_node::release_body): Keep lto_file_data. > (cgraph_node::remove): likewise. > * lto-section-in.cc (lto_free_function_in_decl_state_for_node): > likewise. > * varpool.cc (varpool_node::remove): likewise. > > gcc/lto/ChangeLog: > > * lto-symtab.cc (lto_symtab_merge_symbols_1): likewise. > --- > gcc/cgraph.cc | 11 ++--------- > gcc/lto-section-in.cc | 1 - > gcc/lto/lto-symtab.cc | 6 +----- > gcc/varpool.cc | 6 +----- > 4 files changed, 4 insertions(+), 20 deletions(-) > > diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc > index 32071a84bac..a83e3825dc3 100644 > --- a/gcc/cgraph.cc > +++ b/gcc/cgraph.cc > @@ -2015,11 +2015,7 @@ cgraph_node::release_body (bool keep_arguments) > if (!used_as_abstract_origin && DECL_INITIAL (decl)) > DECL_INITIAL (decl) = error_mark_node; > release_function_body (decl); > - if (lto_file_data) > - { > - lto_free_function_in_decl_state_for_node (this); > - lto_file_data = NULL; > - } > + lto_free_function_in_decl_state_for_node (this);
I believe I made this (before 1to1) just to avoid dangling pointers to useless data, since it is handled by garbage collector. This is a good reason to keep it around. OK, Honza