This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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);
     }
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]