aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-04-16 14:04:17 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2012-04-16 12:04:17 +0000
commit65c70e6b0311be59bddaba52ab10d837b61ea574 (patch)
tree011c878ee2a5ec6071bdb8be9c3d3d3fc62db1a9 /gcc/passes.c
parent8b7db2596e34866f3143938e017e97fb903b3279 (diff)
downloadgcc-65c70e6b0311be59bddaba52ab10d837b61ea574.zip
gcc-65c70e6b0311be59bddaba52ab10d837b61ea574.tar.gz
gcc-65c70e6b0311be59bddaba52ab10d837b61ea574.tar.bz2
cgraph.h (FOR_EACH_VARIABLE, [...]): New macros.
* cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION): New macros. * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH walkers to walk cgraph and varpool. * cgraph.c (cgraph_node_for_asm): Likewise. (dump_cgraph): Likewise. * value-prof.c (init_node_map): Likewise. * tree.c (free_lang_data_in_cgraph): Likewise. * tree-emutls.c: (ipa_lower_emutls): Likewise. * ipa-reference.c (generate_summary, propagate): Likewise. * cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases, cgraph_mark_functions_to_output, cgraph_output_in_order, output_weakrefs, cgraph_materialize_all_clones, cgraph_optimize): Likewise. * lto-cgraph.c (merge_profile_summaries): Likewise. (input_cgraph): Likewise. * ipa-pure-const.c (generate_summary): Likewise. (propagate): Likwise. * ipa-utils.c (ipa_reduced_postorder): Likewise. (ipa_free_postorder_info): Likewise. (ipa_reverse_postorder): Likewise. * ipa-inline.c (ipa_inline): Likewise. * matrix-reorg.c (find_matrices_decl): Likewise. (matrix_reorg): Likewise. * tree-vectorizer.c (increase_alignment): Likewise. * ipa.c (cgraph_remove_unreachable_nodes): Likewise. (function_and_variable_visibility): Likewise. (whole_program_function_and_variable_visibility): Likewise. (ipa_cdtor_merge): Likewise. * trans-mem.c (ipa_tm_execute): Likewise. * ipa-inline-analysis.c (dump_inline_summaries): Likewise. * ipa-prop.c (ipa_print_all_jump_functions): Likewise. (ipa_print_all_params): Likewise. (ipa_update_after_lto_read): Likewise. * tree-profie.c (tree_profiling): Likewise. * tree-ssa-structalias.c (ipa_pta_execute): Likewise. * passes.c (dump_passes): Likewise. (do_per_function): Likewise. (ipa_write_summaries): Likewise. * varpool.c (dump_varpool): Likewise. (varpool_node_for_asm): Likewise. (varpool_assemble_pending_decls): Likewise. * decl2.c (collect_candidates_for_java_method_alias): Use FOR_EACH walkers to walk cgraph and varpool. * lto.c (read_cgraph_and_symbols): Use FOR_EACH walkers to walk cgraph and varpool. (materialize_cgraph): Likewise. * lto-partition.c (lto_1_to_1_map): Likewise. (lto_balanced_map): Likewise. (lto_promote_cross_file_statics): Likewise. From-SVN: r186492
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 8c58710..c012a12 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -703,16 +703,12 @@ dump_passes (void)
create_pass_tab();
- n = cgraph_nodes;
- while (n)
- {
- if (DECL_STRUCT_FUNCTION (n->symbol.decl))
- {
- node = n;
- break;
- }
- n = n->next;
- }
+ FOR_EACH_DEFINED_FUNCTION (n)
+ if (DECL_STRUCT_FUNCTION (n->symbol.decl))
+ {
+ node = n;
+ break;
+ }
if (!node)
return;
@@ -1662,8 +1658,8 @@ do_per_function (void (*callback) (void *data), void *data)
else
{
struct cgraph_node *node;
- for (node = cgraph_nodes; node; node = node->next)
- if (node->analyzed && gimple_has_body_p (node->symbol.decl)
+ FOR_EACH_DEFINED_FUNCTION (node)
+ if (gimple_has_body_p (node->symbol.decl)
&& (!node->clone_of || node->symbol.decl != node->clone_of->symbol.decl))
{
push_cfun (DECL_STRUCT_FUNCTION (node->symbol.decl));
@@ -2346,7 +2342,7 @@ ipa_write_summaries (void)
}
vset = varpool_node_set_new ();
- for (vnode = varpool_nodes; vnode; vnode = vnode->next)
+ FOR_EACH_VARIABLE (vnode)
if (vnode->needed && (!vnode->alias || vnode->alias_of))
varpool_node_set_add (vset, vnode);