> 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