#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "tree.h"#include "rtl.h"#include "tree-flow.h"#include "tree-inline.h"#include "langhooks.h"#include "pointer-set.h"#include "toplev.h"#include "flags.h"#include "ggc.h"#include "debug.h"#include "target.h"#include "cgraph.h"#include "diagnostic.h"#include "timevar.h"#include "params.h"#include "fibheap.h"#include "c-common.h"#include "intl.h"#include "function.h"#include "ipa-prop.h"#include "tree-gimple.h"#include "tree-pass.h"#include "output.h"#include "gt-cgraphunit.h"

Go to the source code of this file.
Definition at line 945 of file cgraphunit.c.
References cgraph_create_edges(), cgraph_edge(), cgraph_lower_function(), current_function_decl, DECL_SAVED_TREE, DECL_STRUCT_FUNCTION, estimate_num_insns(), flag_really_no_inline, initialize_inline_failed(), N_, NULL, pop_cfun(), push_cfun(), and tree_inlinable_function_p().
Referenced by cgraph_finalize_compilation_unit(), and cgraph_finalize_function().
Definition at line 355 of file cgraphunit.c.
References cgraph_expand_function(), cgraph_finalize_function(), cgraph_node(), cgraph_output_pending_asms(), DECL_EXTERNAL, n, and NULL.
Referenced by cgraph_finalize_compilation_unit(), cgraph_finalize_function(), and cp_finish_file().
Definition at line 1674 of file cgraphunit.c.
References allocate_struct_function(), gcc_target::asm_out, BLOCK, build_decl, build_function_type(), cfun, cgraph_finalize_function(), cgraph_global_info_ready, gcc_target::asm_out::constructor, current_function_decl, DECL_ARTIFICIAL, DECL_IGNORED_P, DECL_INITIAL, DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_RESULT, DECL_RTL, DECL_SAVED_TREE, DECL_SOURCE_LOCATION, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, DECL_UNINLINABLE, gcc_target::asm_out::destructor, gcc_unreachable, get_file_function_name_long(), gimplify_function_tree(), gcc_target::have_ctors_dtors, input_location, int, make_node, NULL_TREE, sprintf(), targetm, tree_lowering_passes(), TREE_PUBLIC, tree_rest_of_compilation(), TREE_STATIC, TREE_USED, void, void_list_node, void_type_node, and XEXP.
Referenced by build_cdtor(), create_coverage(), and mudflap_finish_file().
| static struct cgraph_node* cgraph_copy_node_for_versioning | ( | struct cgraph_node * | old_version, | |
| tree | new_decl, | |||
| VEC(cgraph_edge_p, heap)* | redirect_callers | |||
| ) | [static, read] |
Definition at line 1775 of file cgraphunit.c.
References cgraph_clone_edge(), cgraph_edge(), cgraph_node(), cgraph_redirect_edge_callee(), gcc_assert, i, and VEC_iterate.
Referenced by cgraph_function_versioning().
Definition at line 569 of file cgraphunit.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), bsi_stmt_ptr(), call(), cgraph_create_edge(), cgraph_node(), cgraph_varpool_finalize_decl(), basic_block_def::count, DECL_EXTERNAL, DECL_INITIAL, DECL_STRUCT_FUNCTION, FOR_EACH_BB_FN, function, get_call_expr_in(), get_callee_fndecl(), basic_block_def::loop_depth, NULL, pointer_set_create(), pointer_set_destroy(), record_reference(), step(), TREE_CHAIN, TREE_CODE, TREE_OPERAND, TREE_STATIC, TREE_VALUE, visited_nodes, and walk_tree().
Definition at line 1286 of file cgraphunit.c.
References cgraph_expand_function(), cgraph_node(), cgraph_postorder(), DECL_STRUCT_FUNCTION, free(), gcc_assert, i, node, NULL, order, and XCNEWVEC.
Definition at line 1231 of file cgraphunit.c.
References announce_function(), cgraph_function_flags_ready, cgraph_lower_function(), cgraph_node_remove_callees(), cgraph_preserve_function_body_p(), current_function_decl, DECL_INITIAL, DECL_SAVED_TREE, DECL_STRUCT_FUNCTION, error_mark_node, gcc_assert, NULL, and TREE_ASM_WRITTEN.
Definition at line 1055 of file cgraphunit.c.
References cgraph_analyze_function(), cgraph_assemble_pending_functions(), cgraph_dump_file, cgraph_edge(), cgraph_mark_reachable_node(), cgraph_node(), cgraph_node_name(), cgraph_output_pending_asms(), cgraph_remove_node(), cgraph_reset_node(), cgraph_varpool_analyze_pending_decls(), cgraph_varpool_assemble_pending_decls(), cgraph_varpool_node(), cgraph_varpool_output_debug_info(), DECL_SAVED_TREE, dump_cgraph(), errorcount, fflush(), finish_aliases_1(), fprintf(), gcc_assert, ggc_collect(), next, node, NULL, process_function_and_variable_attributes(), quiet_flag, sorrycount, timevar_pop, and timevar_push.
Referenced by cp_finish_file(), and pop_file_scope().
Definition at line 467 of file cgraphunit.c.
References cgraph_analyze_function(), cgraph_assemble_pending_functions(), cgraph_decide_inlining_incrementally(), cgraph_mark_needed_node(), cgraph_mark_reachable_node(), cgraph_node(), cgraph_node_remove_callees(), cgraph_remove_node(), cgraph_reset_node(), debug_hooks, decide_is_function_needed(), DECL_COMDAT, DECL_EXTERNAL, DECL_STRUCT_FUNCTION, gcc_debug_hooks::deferred_inline_function, do_warn_unused_parameter(), gcc_assert, ggc_collect(), lower_nested_functions(), memset, n, node, notice_global_symbol(), NULL, TREE_ASM_WRITTEN, TREE_PUBLIC, and warn_unused_parameter.
Referenced by cgraph_assemble_pending_functions(), cgraph_build_static_cdtor(), expand_or_defer_fn(), finalize_nesting_tree_1(), and finish_function().
Definition at line 1433 of file cgraphunit.c.
References cgraph_dump_file, cgraph_function_flags_ready, cgraph_node(), cgraph_node_name(), cgraph_remove_unreachable_nodes(), cgraph_varpool_node(), DECL_COMDAT, DECL_EXTERNAL, fprintf(), gcc_assert, if(), node, TREE_PUBLIC, and TREE_STATIC.
Referenced by cgraph_optimize().
| struct cgraph_node* cgraph_function_versioning | ( | struct cgraph_node * | old_version_node, | |
| VEC(cgraph_edge_p, heap)* | redirect_callers, | |||
| varray_type | tree_map | |||
| ) | [read] |
Definition at line 1840 of file cgraphunit.c.
References cgraph_copy_node_for_versioning(), cgraph_node(), copy_node, DECL_COMDAT, DECL_EXTERNAL, DECL_ONE_ONLY, NULL, tree_function_versioning(), TREE_PUBLIC, tree_versionable_function_p(), and update_call_expr().
Referenced by ipcp_insert_stage().
Definition at line 1632 of file cgraphunit.c.
References alignment, cgraph_dump_file, cgraph_varpool_node(), DECL_ALIGN, DECL_USER_ALIGN, fprintf(), get_vectype_for_scalar_type(), print_generic_expr(), TDF_SLIM, TREE_CODE, TREE_TYPE, TYPE_ALIGN, and vect_can_force_dr_alignment_p().
Referenced by cgraph_optimize().
Definition at line 453 of file cgraphunit.c.
References tree_lowering_passes().
Referenced by cgraph_analyze_function(), cgraph_expand_function(), and save_inline_function_body().
Definition at line 1184 of file cgraphunit.c.
References cgraph_edge(), cgraph_node(), DECL_EXTERNAL, DECL_SAVED_TREE, dump_cgraph_node(), gcc_assert, internal_error(), node, and TREE_ASM_WRITTEN.
Definition at line 1523 of file cgraphunit.c.
References cgraph_decide_inlining(), cgraph_dump_file, cgraph_expand_all_functions(), cgraph_function_and_variable_visibility(), cgraph_global_info_ready, cgraph_increase_alignment(), cgraph_mark_functions_to_output(), cgraph_mark_local_functions(), cgraph_node(), cgraph_output_in_order(), cgraph_output_pending_asms(), cgraph_remove_unreachable_nodes(), cgraph_varpool_analyze_pending_decls(), cgraph_varpool_assemble_pending_decls(), cgraph_varpool_output_debug_info(), cgraph_varpool_remove_unreferenced_decls(), DECL_SAVED_TREE, dump_cgraph(), dump_cgraph_node(), dump_enabled_p(), dump_file, dump_varpool(), error_found, errorcount, flag_inline_trees, fprintf(), internal_error(), ipa_passes(), node, process_pending_assemble_externals(), quiet_flag, sorrycount, TDI_tree_all, timevar_pop, timevar_push, and verify_cgraph().
Referenced by cp_finish_file().
Definition at line 1349 of file cgraphunit.c.
References cgraph_order_sort::a, alloca, assemble_asm(), cgraph_expand_function(), cgraph_node(), cgraph_varpool_analyze_pending_decls(), cgraph_varpool_assemble_decl(), cgraph_varpool_node(), cgraph_order_sort::f, gcc_assert, gcc_unreachable, i, cgraph_order_sort::kind, max, memset, NULL, cgraph_order_sort::ORDER_ASM, cgraph_order_sort::ORDER_FUNCTION, cgraph_order_sort::ORDER_UNDEFINED, cgraph_order_sort::ORDER_VAR, size, cgraph_order_sort::u, and cgraph_order_sort::v.
Referenced by cgraph_optimize().
Definition at line 931 of file cgraphunit.c.
References assemble_asm(), errorcount, NULL, and sorrycount.
Referenced by cgraph_assemble_pending_functions(), cgraph_finalize_compilation_unit(), and cgraph_optimize().
Definition at line 1496 of file cgraphunit.c.
References cgraph_global_info_ready, cgraph_node(), DECL_INLINE, dump_enabled_p(), flag_really_no_inline, node, and TDI_tree_all.
Referenced by cgraph_expand_function(), and tree_rest_of_compilation().
Definition at line 406 of file cgraphunit.c.
References cgraph_node(), cgraph_node_remove_callees(), cgraph_remove_node(), gcc_assert, memset, n, and next.
Referenced by cgraph_finalize_compilation_unit(), and cgraph_finalize_function().
Definition at line 277 of file cgraphunit.c.
References align_variable(), changed, DECL_INITIAL, NULL, pointer_set_create(), pointer_set_destroy(), record_reference(), timevar_pop, timevar_push, visited_nodes, and walk_tree().
Referenced by cgraph_finalize_compilation_unit(), cgraph_optimize(), cgraph_output_in_order(), cgraph_varpool_assemble_pending_decls(), and cgraph_varpool_remove_unreferenced_decls().
Definition at line 855 of file cgraphunit.c.
References assemble_variable(), DECL_EXTERNAL, DECL_HAS_VALUE_EXPR_P, TREE_ASM_WRITTEN, and TREE_CODE.
Referenced by cgraph_output_in_order(), and cgraph_varpool_assemble_pending_decls().
Definition at line 873 of file cgraphunit.c.
References assemble_variable(), cgraph_varpool_analyze_pending_decls(), cgraph_varpool_assemble_decl(), cgraph_varpool_node(), changed, errorcount, node, NULL, sorrycount, and TREE_ASM_WRITTEN.
Definition at line 907 of file cgraphunit.c.
References BLOCK, cgraph_varpool_node(), debug_hooks, DECL_CONTEXT, errorcount, gcc_debug_hooks::global_decl, node, sorrycount, timevar_pop, timevar_push, and TREE_CODE.
Referenced by cgraph_finalize_compilation_unit(), and cgraph_optimize().
Definition at line 315 of file cgraphunit.c.
References cgraph_varpool_analyze_pending_decls(), cgraph_varpool_mark_needed_node(), cgraph_varpool_node(), cgraph_varpool_reset_queue(), decide_is_variable_needed(), DECL_ASSEMBLER_NAME, DECL_ASSEMBLER_NAME_SET_P, DECL_RTL_SET_P, errorcount, finish_aliases_1(), next, node, sorrycount, and TREE_SYMBOL_REFERENCED.
Referenced by cgraph_optimize().
| static GTY | ( | () | ) | [static] |
Definition at line 178 of file cgraphunit.c.
References cgraph_default_inline_p(), DECL_ASSEMBLER_NAME, DECL_ASSEMBLER_NAME_SET_P, DECL_ATTRIBUTES, DECL_COMDAT, DECL_DECLARED_INLINE_P, DECL_EXTERNAL, decl_function_context(), DECL_INLINE, DECL_NAME, DECL_STATIC_CONSTRUCTOR, DECL_STATIC_DESTRUCTOR, lookup_attribute(), MAIN_NAME_P, NULL, optimize, TREE_PUBLIC, and TREE_SYMBOL_REFERENCED.
Definition at line 1745 of file cgraphunit.c.
References cgraph_dump_file, dump_begin(), NULL, and TDI_cgraph.
Referenced by compile_file().
Definition at line 624 of file cgraphunit.c.
References cgraph_edge(), gcc_assert, and N_.
Referenced by cgraph_analyze_function(), and rebuild_cgraph_edges().
Definition at line 1511 of file cgraphunit.c.
References all_ipa_passes, bitmap_obstack_initialize(), bitmap_obstack_release(), cfun, execute_ipa_pass_list(), NULL, and tree_register_cfg_hooks().
Referenced by cgraph_optimize().
| static void process_function_and_variable_attributes | ( | struct cgraph_node * | first, | |
| struct cgraph_varpool_node * | first_var | |||
| ) | [static] |
Definition at line 998 of file cgraphunit.c.
References cgraph_mark_needed_node(), cgraph_node(), cgraph_varpool_mark_needed_node(), cgraph_varpool_node(), DECL_ATTRIBUTES, lookup_attribute(), mark_decl_referenced(), node, TREE_PUBLIC, and warning.
Referenced by cgraph_finalize_compilation_unit().
| static unsigned int rebuild_cgraph_edges | ( | void | ) | [static] |
Definition at line 645 of file cgraphunit.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), call(), cgraph_create_edge(), cgraph_node(), cgraph_node_remove_callees(), basic_block_def::count, current_function_decl, ENTRY_BLOCK_PTR, FOR_EACH_BB, gcc_assert, get_call_expr_in(), get_callee_fndecl(), initialize_inline_failed(), basic_block_def::loop_depth, and node.
Definition at line 518 of file cgraphunit.c.
References cgraph_mark_needed_node(), cgraph_node(), cgraph_varpool_mark_needed_node(), cgraph_varpool_node(), DECL_EXTERNAL, IS_TYPE_OR_DECL_P, NULL, TREE_CODE, TREE_OPERAND, and TREE_STATIC.
Referenced by cgraph_create_edges(), and cgraph_varpool_analyze_pending_decls().
Definition at line 1883 of file cgraphunit.c.
References cgraph_clone_inlined_nodes(), cgraph_clone_node(), cgraph_edge(), cgraph_insert_node_to_hashtable(), cgraph_lower_function(), cgraph_node(), copy_node, DECL_COMDAT, DECL_EXTERNAL, DECL_ONE_ONLY, gcc_assert, NULL, tree_function_versioning(), TREE_PUBLIC, and verify_cgraph_node().
Referenced by tree_rest_of_compilation().
Definition at line 1755 of file cgraphunit.c.
References cgraph_edge(), gcc_assert, get_call_expr_in(), and TREE_OPERAND.
Referenced by cgraph_function_versioning().
Definition at line 842 of file cgraphunit.c.
References cgraph_node(), errorcount, node, sorrycount, and verify_cgraph_node().
Referenced by cgraph_optimize(), and cgraph_remove_unreachable_nodes().
Definition at line 691 of file cgraphunit.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), call(), cgraph_edge(), cgraph_node(), cgraph_node_name(), debug_generic_stmt(), debug_tree(), DECL_EXTERNAL, DECL_SAVED_TREE, DECL_STRUCT_FUNCTION, dump_cgraph_node(), error(), error_found, errorcount, FOR_EACH_BB_FN, fprintf(), function, gcc_unreachable, get_call_expr_in(), get_callee_fndecl(), internal_error(), NULL, pointer_set_create(), pointer_set_destroy(), sorrycount, timevar_pop, timevar_push, TREE_ASM_WRITTEN, verify_cgraph_node_1(), visited_nodes, and walk_tree_without_duplicates().
Referenced by expand_call_inline(), optimize_inline_calls(), save_inline_function_body(), and verify_cgraph().
Initial value:
{
NULL,
NULL,
rebuild_cgraph_edges,
NULL,
NULL,
0,
0,
PROP_cfg,
0,
0,
0,
0,
0
}
Definition at line 672 of file cgraphunit.c.
Referenced by init_optimization_passes().
1.5.6