diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-04-16 12:04:17 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-04-16 12:04:17 +0000 |
commit | 7c455d87c55a2de426f8f1a455f1a97050340dc7 (patch) | |
tree | 011c878ee2a5ec6071bdb8be9c3d3d3fc62db1a9 /gcc/cgraphunit.c | |
parent | 06734da8d7e6f650da5a652c933eb8095f8d6133 (diff) |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186492 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r-- | gcc/cgraphunit.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 8c27eb4d32c..abe90120129 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -890,7 +890,7 @@ verify_cgraph (void) if (seen_error ()) return; - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) verify_cgraph_node (node); } @@ -1026,7 +1026,7 @@ void cgraph_process_same_body_aliases (void) { struct cgraph_node *node; - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) if (node->same_body_alias && !VEC_length (ipa_ref_t, node->symbol.ref_list.references)) { @@ -1398,11 +1398,11 @@ cgraph_mark_functions_to_output (void) #ifdef ENABLE_CHECKING bool check_same_comdat_groups = false; - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) gcc_assert (!node->process); #endif - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) { tree decl = node->symbol.decl; struct cgraph_edge *e; @@ -1472,7 +1472,7 @@ cgraph_mark_functions_to_output (void) } #ifdef ENABLE_CHECKING if (check_same_comdat_groups) - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) if (node->symbol.same_comdat_group && !node->process) { tree decl = node->symbol.decl; @@ -2081,7 +2081,7 @@ cgraph_output_in_order (void) varpool_analyze_pending_decls (); - for (pf = cgraph_nodes; pf; pf = pf->next) + FOR_EACH_DEFINED_FUNCTION (pf) { if (pf->process && !pf->thunk.thunk_p && !pf->alias) { @@ -2092,7 +2092,7 @@ cgraph_output_in_order (void) } } - for (pv = varpool_nodes_queue; pv; pv = pv->next_needed) + FOR_EACH_DEFINED_VARIABLE (pv) { i = pv->symbol.order; gcc_assert (nodes[i].kind == ORDER_UNDEFINED); @@ -2246,14 +2246,14 @@ output_weakrefs (void) { struct cgraph_node *node; struct varpool_node *vnode; - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) if (node->alias && DECL_EXTERNAL (node->symbol.decl) && !TREE_ASM_WRITTEN (node->symbol.decl) && lookup_attribute ("weakref", DECL_ATTRIBUTES (node->symbol.decl))) assemble_alias (node->symbol.decl, node->thunk.alias ? DECL_ASSEMBLER_NAME (node->thunk.alias) : get_alias_symbol (node->symbol.decl)); - for (vnode = varpool_nodes; vnode; vnode = vnode->next) + FOR_EACH_VARIABLE (vnode) if (vnode->alias && DECL_EXTERNAL (vnode->symbol.decl) && !TREE_ASM_WRITTEN (vnode->symbol.decl) && lookup_attribute ("weakref", DECL_ATTRIBUTES (vnode->symbol.decl))) @@ -2320,7 +2320,7 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version, new_version->analyzed = old_version->analyzed; new_version->local = old_version->local; new_version->symbol.externally_visible = false; - new_version->local.local = true; + new_version->local.local = old_version->analyzed; new_version->global = old_version->global; new_version->rtl = old_version->rtl; new_version->reachable = true; @@ -2578,7 +2578,7 @@ cgraph_materialize_all_clones (void) while (!stabilized) { stabilized = true; - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) { if (node->clone_of && node->symbol.decl != node->clone_of->symbol.decl && !gimple_has_body_p (node->symbol.decl)) @@ -2628,7 +2628,7 @@ cgraph_materialize_all_clones (void) } } } - for (node = cgraph_nodes; node; node = node->next) + FOR_EACH_FUNCTION (node) if (!node->analyzed && node->callees) cgraph_node_remove_callees (node); if (cgraph_dump_file) @@ -2745,10 +2745,9 @@ cgraph_optimize (void) struct cgraph_node *node; bool error_found = false; - for (node = cgraph_nodes; node; node = node->next) - if (node->analyzed - && (node->global.inlined_to - || gimple_has_body_p (node->symbol.decl))) + FOR_EACH_DEFINED_FUNCTION (node) + if (node->global.inlined_to + || gimple_has_body_p (node->symbol.decl)) { error_found = true; dump_cgraph_node (stderr, node); |