[PATCH][LTO] Fix(?) parallel WPA memory unsharing

Richard Biener rguenther@suse.de
Thu Apr 3 13:52:00 GMT 2014


The following fixes(?) parallel WPA memory unsharing caused by
streamer_write_chain writing to TREE_CHAIN (for no good reason).
The patch removes this historical code.

LTO bootstrap and testing running on x86_64-unknown-linux-gnu.

Richard.

2014-04-03  Richard Biener  <rguenther@suse.de>

	* tree-streamer-out.c (streamer_write_chain): Do not temporarily
	set TREE_CHAIN to NULL_TREE.

Index: gcc/tree-streamer-out.c
===================================================================
--- gcc/tree-streamer-out.c	(revision 209054)
+++ gcc/tree-streamer-out.c	(working copy)
@@ -523,13 +523,6 @@ streamer_write_chain (struct output_bloc
 {
   while (t)
     {
-      tree saved_chain;
-
-      /* Clear TREE_CHAIN to avoid blindly recursing into the rest
-	 of the list.  */
-      saved_chain = TREE_CHAIN (t);
-      TREE_CHAIN (t) = NULL_TREE;
-
       /* We avoid outputting external vars or functions by reference
 	 to the global decls section as we do not want to have them
 	 enter decl merging.  This is, of course, only for the call
@@ -541,7 +534,6 @@ streamer_write_chain (struct output_bloc
       else
 	stream_write_tree (ob, t, ref_p);
 
-      TREE_CHAIN (t) = saved_chain;
       t = TREE_CHAIN (t);
     }
 



More information about the Gcc-patches mailing list