public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] IPA-CP release transformation summary (PR jit/91928)
@ 2019-01-01  0:00 Andrea Corallo
  2019-01-01  0:00 ` Martin Jambor
  0 siblings, 1 reply; 7+ messages in thread
From: Andrea Corallo @ 2019-01-01  0:00 UTC (permalink / raw)
  To: gcc-patches, jit; +Cc: nd

[-- Attachment #1: Type: text/plain, Size: 611 bytes --]

Hi all,
I'd like to submit this patch.
It release the ipa cp transformation summary after functions being expanded.
This is to fix the compiler when used with libgccjit on subsequent
compilations (every new compilation should have a clean transformation
summary).

Bootstrap on arm64 and X86-64.

Bests
  Andrea

gcc/ChangeLog
2019-??-??  Andrea Corallo  <andrea.corallo@arm.com>

	* cgraphunit.c (expand_all_functions): Release ipcp_transformation_sum
	when finished.
	* ipa-prop.c (ipcp_free_transformation_sum): New function.
	* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 91928.patch --]
[-- Type: text/x-diff; name="91928.patch", Size: 1477 bytes --]

diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index cb08efe..0251fa4 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -2342,6 +2342,7 @@ expand_all_functions (void)
              profiled_func_count, expanded_func_count);
 
   symtab->process_new_functions ();
+  ipcp_free_transformation_sum ();
   free_gimplify_stack ();
 
   free (order);
diff --git a/gcc/ipa-prop.h b/gcc/ipa-prop.h
index 30948fb..0ff8085 100644
--- a/gcc/ipa-prop.h
+++ b/gcc/ipa-prop.h
@@ -561,6 +561,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.  */
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 2f2b070..158dbe7 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -3758,6 +3758,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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-10-05  9:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-01  0:00 [PATCH] IPA-CP release transformation summary (PR jit/91928) Andrea Corallo
2019-01-01  0:00 ` Martin Jambor
2019-01-01  0:00   ` Andrea Corallo
2019-01-01  0:00     ` Jeff Law
2019-01-01  0:00       ` Andrea Corallo
2019-01-01  0:00         ` Jeff Law
2019-01-01  0:00           ` Andrea Corallo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).