diff options
author | Richard Biener <rguenther@suse.de> | 2013-06-05 08:21:02 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-06-05 08:21:02 +0000 |
commit | a367df532e6bf5e05727a86c00d0ff4dfda45f9e (patch) | |
tree | acdabb98bbc49efe5badc893d7d7bc98306fb7ff | |
parent | c99299ff31351021bd4414dc056b40c704ad2743 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/lto/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto/lto.c | 7 | ||||
-rw-r--r-- | gcc/tree-streamer-out.c | 5 | ||||
-rw-r--r-- | gcc/tree-streamer.c | 1 |
5 files changed, 23 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 673102f..cc30424 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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. + 2013-06-05 David Malcolm <dmalcolm@redhat.com> * tree-ssa-structalias.c (call_stmt_vars): Make static. 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); 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); diff --git a/gcc/tree-streamer.c b/gcc/tree-streamer.c index f29690f..e4d948b 100644 --- a/gcc/tree-streamer.c +++ b/gcc/tree-streamer.c @@ -152,6 +152,7 @@ streamer_tree_cache_insert_1 (struct streamer_tree_cache_d *cache, the requested location slot. */ ix = *ix_p; streamer_tree_cache_add_to_node_array (cache, ix, t); + *slot = (void *)(size_t) (ix + 1); } /* Indicate that T was already in the cache. */ |