Come up with ggc_delete.
2019-11-04 Martin Liska <mliska@suse.cz> * ggc.h (ggc_delete): New function. * ipa-fnsummary.c (ipa_free_fn_summary): Use it. * ipa-prop.c (ipa_free_all_edge_args): Likewise. (ipa_free_all_node_params): Likewise. * ipa-sra.c (ipa_sra_analysis): Likewise. From-SVN: r277767
This commit is contained in:
parent
cedaa3f605
commit
ddf628e42f
5 changed files with 22 additions and 8 deletions
|
@ -1,3 +1,11 @@
|
|||
2019-11-04 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* ggc.h (ggc_delete): New function.
|
||||
* ipa-fnsummary.c (ipa_free_fn_summary): Use it.
|
||||
* ipa-prop.c (ipa_free_all_edge_args): Likewise.
|
||||
(ipa_free_all_node_params): Likewise.
|
||||
* ipa-sra.c (ipa_sra_analysis): Likewise.
|
||||
|
||||
2019-11-02 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* ipa-fnsummary.c (set_cond_stmt_execution_predicate,
|
||||
|
|
10
gcc/ggc.h
10
gcc/ggc.h
|
@ -242,6 +242,16 @@ ggc_alloc_atomic (size_t s CXX_MEM_STAT_INFO)
|
|||
return ggc_internal_alloc (s PASS_MEM_STAT);
|
||||
}
|
||||
|
||||
/* Call destructor and free the garbage collected memory. */
|
||||
|
||||
template <typename T>
|
||||
inline void
|
||||
ggc_delete (T *ptr)
|
||||
{
|
||||
ptr->~T ();
|
||||
ggc_free (ptr);
|
||||
}
|
||||
|
||||
/* Allocate a gc-able string, and fill it with LENGTH bytes from CONTENTS.
|
||||
If LENGTH is -1, then CONTENTS is assumed to be a
|
||||
null-terminated string and the memory sized accordingly. */
|
||||
|
|
|
@ -4136,8 +4136,7 @@ ipa_free_fn_summary (void)
|
|||
{
|
||||
if (!ipa_call_summaries)
|
||||
return;
|
||||
ipa_fn_summaries->~fast_function_summary <ipa_fn_summary *, va_gc> ();
|
||||
ggc_free (ipa_fn_summaries);
|
||||
ggc_delete (ipa_fn_summaries);
|
||||
ipa_fn_summaries = NULL;
|
||||
delete ipa_call_summaries;
|
||||
ipa_call_summaries = NULL;
|
||||
|
|
|
@ -3756,8 +3756,7 @@ ipa_free_all_edge_args (void)
|
|||
if (!ipa_edge_args_sum)
|
||||
return;
|
||||
|
||||
ipa_edge_args_sum->~ipa_edge_args_sum_t ();
|
||||
ggc_free (ipa_edge_args_sum);
|
||||
ggc_delete (ipa_edge_args_sum);
|
||||
ipa_edge_args_sum = NULL;
|
||||
}
|
||||
|
||||
|
@ -3766,8 +3765,7 @@ ipa_free_all_edge_args (void)
|
|||
void
|
||||
ipa_free_all_node_params (void)
|
||||
{
|
||||
ipa_node_params_sum->~ipa_node_params_t ();
|
||||
ggc_free (ipa_node_params_sum);
|
||||
ggc_delete (ipa_node_params_sum);
|
||||
ipa_node_params_sum = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -3989,8 +3989,7 @@ ipa_sra_analysis (void)
|
|||
process_isra_node_results (node, clone_num_suffixes);
|
||||
|
||||
delete clone_num_suffixes;
|
||||
func_sums->~ipa_sra_function_summaries ();
|
||||
ggc_free (func_sums);
|
||||
ggc_delete (func_sums);
|
||||
func_sums = NULL;
|
||||
delete call_sums;
|
||||
call_sums = NULL;
|
||||
|
|
Loading…
Add table
Reference in a new issue