diff options
author | Jan Hubicka <jh@suse.cz> | 2012-08-13 04:37:51 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2012-08-13 02:37:51 +0000 |
commit | f27c1867108c24557452bc6ea11196c7e7f09801 (patch) | |
tree | 45f40f7cd77f92dcd298eb5c790cad79a92c02be /gcc/ipa-reference.c | |
parent | 56142d02b398b0a1b1d7ca1bcb3dbb291c597a30 (diff) | |
download | gcc-f27c1867108c24557452bc6ea11196c7e7f09801.zip gcc-f27c1867108c24557452bc6ea11196c7e7f09801.tar.gz gcc-f27c1867108c24557452bc6ea11196c7e7f09801.tar.bz2 |
tree-pass.h (write_summary, [...]): Remove set and vset arguments.
* tree-pass.h (write_summary, write_optimization_summary): Remove
set and vset arguments.
* ipa-cp.c (ipcp_write_summary): Remove set and vset arugments.
(write_node_summary_p): Likewise; use the encoder.
(ipa_reference_write_optimization_summary): Likewise.
* lto-cgraph.c (output_cgraph_opt_summary): Use encoder.
(lto_symtab_encoder_new): Initialize in_partition field.
(lto_symtab_encoder_delete): Destroy in_partition field.
(LCC_NOT_FOUND): Move to lto-streamer.h
(lto_symtab_encoder_deref): Likewise.
(lto_symtab_encoder_in_partition_p,
lto_set_symtab_encoder_in_partition): New functions.
(referenced_from_other_partition_p): Rewrite to use encoder.
(reachable_from_other_partition_p): Likewise.
(referenced_from_this_partition_p): Likewise.
(reachable_from_this_partition_p): Likewise.
(lto_output_node): Likewise.
(lto_output_varpool_node): Likewise.
(output_refs): Likewise.
(compute_ltrans_boundary): Initialize in_partition fileds of
the encoder.
(output_symtab): Likewise.
(input_refs): Match the changes in output_refs.
(output_cgraph_opt_summary_p): Remove set argument.
(output_node_opt_summary): Replace set by encoder.
(output_cgraph_opt_summary): Remove set argument; use
the encoder.
* ipa-pure-const.c (pure_const_write_summary): Remove set and vset
arguments; use the encoder.
* lto-streamer-out.c (lto_output): Remove set and vset argument; use
the encoder.
(produce_symtab): Likewise.
* ipa-inline.h (inline_write_summary): Remove set and vset arguments.
* ipa-inline-analysis.c (inline_write_summary): Likewise.
* ipa-prop.c (ipa_prop_write_jump_functions): Remove set argument;
use encoder.
* ipa-prop.h (ipa_prop_write_jump_functions): Likewise.
* passes.c (ipa_write_summaries_2): Remove set and vset arguments.
(ipa_write_summaries_1): Update.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_write_optimization_summaries): Likewise.
* lto-streamer.h (lto_symtab_encoder_t): Add in_partition.
(lto_symtab_encoder_iterator): New type.
(lto_symtab_encoder_deref): Make inline.
(output_symtab, referenced_from_other_partition_p,
reachable_from_other_partition_p, referenced_from_this_partition_p,
reachable_from_this_partition_p): Update.
(lsei_end_p, lsei_next, lsei_node, lsei_cgraph_node, lsei_varpool_node): New
inline functions.
(LCC_NOT_FOUND): New macro.
(lto_symtab_encoder_deref, lsei_start, lsei_next_in_partition,
lsei_start_in_partition, lsei_next_function_in_partition,
lsei_start_function_in_partition, lsei_next_variable_in_partition,
lsei_start_variable_in_partition): New inline functions.
* lto-partition.c (set_referenced_from_other_partition_p,
set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
New functions.
(lto_promote_cross_file_statics): Use them.
From-SVN: r190336
Diffstat (limited to 'gcc/ipa-reference.c')
-rw-r--r-- | gcc/ipa-reference.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c index 371148d..0d2ef28 100644 --- a/gcc/ipa-reference.c +++ b/gcc/ipa-reference.c @@ -956,8 +956,7 @@ propagate (void) static bool write_node_summary_p (struct cgraph_node *node, - cgraph_node_set set, - varpool_node_set vset, + lto_symtab_encoder_t encoder, bitmap ltrans_statics) { ipa_reference_optimization_summary_t info; @@ -976,8 +975,8 @@ write_node_summary_p (struct cgraph_node *node, In future we might also want to include summaries of functions references by initializers of constant variables references in current unit. */ - if (!reachable_from_this_partition_p (node, set) - && !referenced_from_this_partition_p (&node->symbol.ref_list, set, vset)) + if (!reachable_from_this_partition_p (node, encoder) + && !referenced_from_this_partition_p (&node->symbol.ref_list, encoder)) return false; /* See if the info has non-empty intersections with vars we want to encode. */ @@ -1025,8 +1024,7 @@ stream_out_bitmap (struct lto_simple_output_block *ob, /* Serialize the ipa info for lto. */ static void -ipa_reference_write_optimization_summary (cgraph_node_set set, - varpool_node_set vset) +ipa_reference_write_optimization_summary (void) { struct cgraph_node *node; symtab_node snode; @@ -1049,7 +1047,7 @@ ipa_reference_write_optimization_summary (cgraph_node_set set, continue; vnode = varpool (snode); if (bitmap_bit_p (all_module_statics, DECL_UID (vnode->symbol.decl)) - && referenced_from_this_partition_p (&vnode->symbol.ref_list, set, vset)) + && referenced_from_this_partition_p (&vnode->symbol.ref_list, encoder)) { tree decl = vnode->symbol.decl; bitmap_set_bit (ltrans_statics, DECL_UID (decl)); @@ -1064,7 +1062,7 @@ ipa_reference_write_optimization_summary (cgraph_node_set set, for (i = 0; i < lto_symtab_encoder_size (encoder); i++) if (symtab_function_p (snode = lto_symtab_encoder_deref (encoder, i)) && write_node_summary_p (cgraph (snode), - set, vset, ltrans_statics)) + encoder, ltrans_statics)) count++; streamer_write_uhwi_stream (ob->main_stream, count); @@ -1080,7 +1078,7 @@ ipa_reference_write_optimization_summary (cgraph_node_set set, if (!symtab_function_p (snode)) continue; node = cgraph (snode); - if (write_node_summary_p (node, set, vset, ltrans_statics)) + if (write_node_summary_p (node, encoder, ltrans_statics)) { ipa_reference_optimization_summary_t info; int node_ref; |