aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-out.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-06-05 08:21:02 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-06-05 08:21:02 +0000
commita367df532e6bf5e05727a86c00d0ff4dfda45f9e (patch)
treeacdabb98bbc49efe5badc893d7d7bc98306fb7ff /gcc/tree-streamer-out.c
parentc99299ff31351021bd4414dc056b40c704ad2743 (diff)
downloadgcc-a367df532e6bf5e05727a86c00d0ff4dfda45f9e.zip
gcc-a367df532e6bf5e05727a86c00d0ff4dfda45f9e.tar.gz
gcc-a367df532e6bf5e05727a86c00d0ff4dfda45f9e.tar.bz2
tree-streamer.c (streamer_tree_cache_insert_1): Update the index associated with the tree we are supposed to replace.
2013-06-05 Richard Biener <rguenther@suse.de> * tree-streamer.c (streamer_tree_cache_insert_1): Update the index associated with the tree we are supposed to replace. * tree-streamer-out.c (pack_ts_base_value_fields): Output TREE_ASM_WRITTEN as zero for everything but SSA names. lto/ * lto.c (num_merged_types): New global variable. (uniquify_nodes): Increase num_merged_types when merging a type. (print_lto_report_1): Output the number of merged types. From-SVN: r199683
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r--gcc/tree-streamer-out.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c
index 2625dd6..39b212e 100644
--- a/gcc/tree-streamer-out.c
+++ b/gcc/tree-streamer-out.c
@@ -87,8 +87,9 @@ pack_ts_base_value_fields (struct bitpack_d *bp, tree expr)
bp_pack_value (bp, TYPE_UNSIGNED (expr), 1);
else
bp_pack_value (bp, 0, 1);
- /* We write debug info two times, do not confuse the second one. */
- bp_pack_value (bp, ((TYPE_P (expr) || TREE_CODE (expr) == TYPE_DECL)
+ /* We write debug info two times, do not confuse the second one.
+ The only relevant TREE_ASM_WRITTEN use is on SSA names. */
+ bp_pack_value (bp, (TREE_CODE (expr) != SSA_NAME
? 0 : TREE_ASM_WRITTEN (expr)), 1);
if (TYPE_P (expr))
bp_pack_value (bp, TYPE_ARTIFICIAL (expr), 1);