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-prop.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-prop.c')
-rw-r--r-- | gcc/ipa-prop.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 6c5f241..21a7493 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -3391,21 +3391,25 @@ ipa_read_node_info (struct lto_input_block *ib, struct cgraph_node *node, /* Write jump functions for nodes in SET. */ void -ipa_prop_write_jump_functions (cgraph_node_set set) +ipa_prop_write_jump_functions (void) { struct cgraph_node *node; struct output_block *ob; unsigned int count = 0; - cgraph_node_set_iterator csi; + lto_symtab_encoder_iterator lsei; + lto_symtab_encoder_t encoder; + if (!ipa_node_params_vector) return; ob = create_output_block (LTO_section_jump_functions); + encoder = ob->decl_state->symtab_node_encoder; ob->cgraph_node = NULL; - for (csi = csi_start (set); !csi_end_p (csi); csi_next (&csi)) + for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei); + lsei_next_function_in_partition (&lsei)) { - node = csi_node (csi); + node = lsei_cgraph_node (lsei); if (cgraph_function_with_gimple_body_p (node) && IPA_NODE_REF (node) != NULL) count++; @@ -3414,9 +3418,10 @@ ipa_prop_write_jump_functions (cgraph_node_set set) streamer_write_uhwi (ob, count); /* Process all of the functions. */ - for (csi = csi_start (set); !csi_end_p (csi); csi_next (&csi)) + for (lsei = lsei_start_function_in_partition (encoder); !lsei_end_p (lsei); + lsei_next_function_in_partition (&lsei)) { - node = csi_node (csi); + node = lsei_cgraph_node (lsei); if (cgraph_function_with_gimple_body_p (node) && IPA_NODE_REF (node) != NULL) ipa_write_node_info (ob, node); |