Fix streamer desynchornization caused by streamer debugging patch

Message ID
State New
Headers show
  • Fix streamer desynchornization caused by streamer debugging patch
Related show

Commit Message

Jan Hubicka May 29, 2020, 10:13 a.m.
it turns out I lost one hunk in the patch disabling extra streaming
which causes streamer to go out of sync in the case non-trivial scc
containing the node being streamed appears in local stream (which seems
quite rare since it does not happen during bootstrap).

I am regtesting on x86_64-linux the following and will commit afterwards.



2020-05-29  Jan Hubicka  <>

	PR lto/95362
	* lto-streamer-out.c (lto_output_tree):


diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 288e3c0f4c6..dfd32ece4bd 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1791,8 +1791,9 @@  lto_output_tree (struct output_block *ob, tree expr,
 	  streamer_write_record_start (ob, LTO_tree_pickle_reference);
 	  streamer_write_uhwi (ob, ix);
-	  streamer_write_enum (ob->main_stream, LTO_tags, LTO_NUM_TAGS,
-			       lto_tree_code_to_tag (TREE_CODE (expr)));
+	  if (streamer_debugging)
+	    streamer_write_enum (ob->main_stream, LTO_tags, LTO_NUM_TAGS,
+				 lto_tree_code_to_tag (TREE_CODE (expr)));
       in_dfs_walk = false;