aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2018-06-21 13:44:38 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2018-06-21 13:44:38 +0000
commite67343d7445768ef22523894ec589791f526234c (patch)
tree509668c58bbb866feb8ad46e0b2cf471d68682c6
parentd22d74e09dc48d1bffbcfd467fffaad7465d8676 (diff)
downloadgcc-e67343d7445768ef22523894ec589791f526234c.zip
gcc-e67343d7445768ef22523894ec589791f526234c.tar.gz
gcc-e67343d7445768ef22523894ec589791f526234c.tar.bz2
Fix IPA crash in libgccjit
gcc/ChangeLog: * ipa-cp.c (ipcp_driver): Set edge_clone_summaries to NULL after deleting it. * ipa-reference.c (ipa_reference_c_finalize): Delete ipa_ref_opt_sum_summaries and set it to NULL. From-SVN: r261846
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/ipa-cp.c1
-rw-r--r--gcc/ipa-reference.c6
3 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 266ab55..8d6e648 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2018-06-21 David Malcolm <dmalcolm@redhat.com>
+
+ * ipa-cp.c (ipcp_driver): Set edge_clone_summaries to NULL after
+ deleting it.
+ * ipa-reference.c (ipa_reference_c_finalize): Delete
+ ipa_ref_opt_sum_summaries and set it to NULL.
+
2018-06-21 Tom de Vries <tdevries@suse.de>
PR tree-optimization/85859
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index c192e84..42dd4cc 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -5089,6 +5089,7 @@ ipcp_driver (void)
/* Free all IPCP structures. */
free_toporder_info (&topo);
delete edge_clone_summaries;
+ edge_clone_summaries = NULL;
ipa_free_all_structures_after_ipa_cp ();
if (dump_file)
fprintf (dump_file, "\nIPA constant propagation end\n");
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c
index 9a9e94c..43bbdae 100644
--- a/gcc/ipa-reference.c
+++ b/gcc/ipa-reference.c
@@ -1230,6 +1230,12 @@ make_pass_ipa_reference (gcc::context *ctxt)
void
ipa_reference_c_finalize (void)
{
+ if (ipa_ref_opt_sum_summaries != NULL)
+ {
+ delete ipa_ref_opt_sum_summaries;
+ ipa_ref_opt_sum_summaries = NULL;
+ }
+
if (ipa_init_p)
{
bitmap_obstack_release (&optimization_summary_obstack);