aboutsummaryrefslogtreecommitdiff
path: root/gcc/lto
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/lto
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/lto')
-rw-r--r--gcc/lto/ChangeLog6
-rw-r--r--gcc/lto/lto.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 0a01c1b..f98c31d 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,9 @@
+2013-06-05 Richard Biener <rguenther@suse.de>
+
+ * 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.
+
2013-06-01 Jan Hubicka <jh@suse.cz>
* lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 05867e1..c90a2d8 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -1788,6 +1788,7 @@ lto_register_function_decl_in_symtab (struct data_in *data_in, tree decl)
}
}
+static unsigned long num_merged_types = 0;
/* Given a streamer cache structure DATA_IN (holding a sequence of trees
for one compilation unit) go over all trees starting at index FROM until the
@@ -1817,7 +1818,10 @@ uniquify_nodes (struct data_in *data_in, unsigned from)
to reset that flag afterwards - nothing that refers
to those types is left and they are collected. */
if (newt != t)
- TREE_VISITED (t) = 1;
+ {
+ num_merged_types++;
+ TREE_VISITED (t) = 1;
+ }
}
}
@@ -3136,6 +3140,7 @@ print_lto_report_1 (void)
htab_collisions (type_hash_cache));
else
fprintf (stderr, "[%s] GIMPLE type hash cache table is empty\n", pfx);
+ fprintf (stderr, "[%s] Merged %lu types\n", pfx, num_merged_types);
print_gimple_types_stats (pfx);
print_lto_report (pfx);