Hi, 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. Honza gcc/ChangeLog: 2020-05-29 Jan Hubicka <hubi...@ucw.cz> 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; lto_stats.num_pickle_refs_output++;