From: Andrea Corallo Date: Sat, 5 Oct 2019 09:02:25 +0000 (+0000) Subject: Backport fix for PR jit/91928 X-Git-Tag: releases/gcc-9.3.0~573 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40d2b0af815e368d648152b5c9c59c4a54a38fae;p=thirdparty%2Fgcc.git Backport fix for PR jit/91928 gcc/ChangeLog 2019-10-05 Andrea Corallo Backport from mainline 2019-10-03 Andrea Corallo * gcc/ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum when finished. * ipa-prop.c (ipcp_free_transformation_sum): New function. * ipa-prop.h (ipcp_free_transformation_sum): Add declaration. From-SVN: r276625 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 39e50092f84a..56a11ea465a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2019-10-05 Andrea Corallo + + Backport from mainline + 2019-10-03 Andrea Corallo + * gcc/ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum + when finished. + * ipa-prop.c (ipcp_free_transformation_sum): New function. + * ipa-prop.h (ipcp_free_transformation_sum): Add declaration. + 2019-10-04 Dragan Mladjenovic Backport from mainline diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 32b352328a91..d414632e6026 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -5190,4 +5190,5 @@ ipa_cp_c_finalize (void) max_count = profile_count::uninitialized (); overall_size = 0; max_new_size = 0; + ipcp_free_transformation_sum (); } diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index d86c2f3db552..848180aa441c 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -3725,6 +3725,18 @@ ipcp_transformation_initialize (void) ipcp_transformation_sum = ipcp_transformation_t::create_ggc (symtab); } +/* Release the IPA CP transformation summary. */ + +void +ipcp_free_transformation_sum (void) +{ + if (!ipcp_transformation_sum) + return; + + ipcp_transformation_sum->release (); + ipcp_transformation_sum = NULL; +} + /* Set the aggregate replacements of NODE to be AGGVALS. */ void diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h index 7257a6d04f14..5ab3d07a6dea 100644 --- a/gcc/ipa-prop.h +++ b/gcc/ipa-prop.h @@ -558,6 +558,7 @@ struct GTY(()) ipcp_transformation void ipa_set_node_agg_value_chain (struct cgraph_node *node, struct ipa_agg_replacement_value *aggvals); void ipcp_transformation_initialize (void); +void ipcp_free_transformation_sum (void); /* ipa_edge_args stores information related to a callsite and particularly its arguments. It can be accessed by the IPA_EDGE_REF macro. */