diff options
author | Antoni Boucher <bouanto@zoho.com> | 2024-01-10 17:13:20 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2024-01-10 17:13:20 -0500 |
commit | 8415bceea9d3ca86adc00ae8ad92deaec0457dd1 (patch) | |
tree | 6845246df6fa2c070e1cc9a01725a929644c6e19 /gcc/ipa-profile.cc | |
parent | 52e809d5cf345ce01fc81be716a57f5b6d5b4545 (diff) | |
download | gcc-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.cc | 10 |
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; +} |