aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-reference.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-08-13 04:37:51 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2012-08-13 02:37:51 +0000
commitf27c1867108c24557452bc6ea11196c7e7f09801 (patch)
tree45f40f7cd77f92dcd298eb5c790cad79a92c02be /gcc/ipa-reference.c
parent56142d02b398b0a1b1d7ca1bcb3dbb291c597a30 (diff)
downloadgcc-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.c16
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;