aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-profile.cc
diff options
context:
space:
mode:
authorAntoni Boucher <bouanto@zoho.com>2024-01-10 17:13:20 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2024-01-10 17:13:20 -0500
commit8415bceea9d3ca86adc00ae8ad92deaec0457dd1 (patch)
tree6845246df6fa2c070e1cc9a01725a929644c6e19 /gcc/ipa-profile.cc
parent52e809d5cf345ce01fc81be716a57f5b6d5b4545 (diff)
downloadgcc-8415bceea9d3ca86adc00ae8ad92deaec0457dd1.zip
gcc-8415bceea9d3ca86adc00ae8ad92deaec0457dd1.tar.gz
gcc-8415bceea9d3ca86adc00ae8ad92deaec0457dd1.tar.bz2
libgccjit: Fix GGC segfault when using -flto
gcc/ChangeLog: PR jit/111396 * ipa-fnsummary.cc (ipa_fnsummary_cc_finalize): Call ipa_free_size_summary. * ipa-icf.cc (ipa_icf_cc_finalize): New function. * ipa-profile.cc (ipa_profile_cc_finalize): New function. * ipa-prop.cc (ipa_prop_cc_finalize): New function. * ipa-prop.h (ipa_prop_cc_finalize): New function. * ipa-sra.cc (ipa_sra_cc_finalize): New function. * ipa-utils.h (ipa_profile_cc_finalize, ipa_icf_cc_finalize, ipa_sra_cc_finalize): New functions. * toplev.cc (toplev::finalize): Call ipa_icf_cc_finalize, ipa_prop_cc_finalize, ipa_profile_cc_finalize and ipa_sra_cc_finalize Include ipa-utils.h. gcc/testsuite/ChangeLog: PR jit/111396 * jit.dg/all-non-failing-tests.h: Add note about test-ggc-bugfix. * jit.dg/test-ggc-bugfix.c: New test.
Diffstat (limited to 'gcc/ipa-profile.cc')
-rw-r--r--gcc/ipa-profile.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ipa-profile.cc b/gcc/ipa-profile.cc
index 8880e86..5e89f67 100644
--- a/gcc/ipa-profile.cc
+++ b/gcc/ipa-profile.cc
@@ -1065,3 +1065,13 @@ make_pass_ipa_profile (gcc::context *ctxt)
{
return new pass_ipa_profile (ctxt);
}
+
+/* Reset all state within ipa-profile.cc so that we can rerun the compiler
+ within the same process. For use by toplev::finalize. */
+
+void
+ipa_profile_cc_finalize (void)
+{
+ delete call_sums;
+ call_sums = NULL;
+}