GCC Middle and Back End API Reference
|
#include <function.h>
This structure can save all the important global and static variables describing the status of the current function.
unsigned int function::after_inlining |
unsigned int function::always_inline_functions_inlined |
Referenced by avoid_folding_inline_builtin(), early_inliner(), and inline_transform().
unsigned int function::calls_alloca |
Referenced by allocate_dynamic_stack_space(), clear_pending_stack_adjust(), clear_special_calls(), copy_bb(), expand_call(), expand_function_end(), expand_stack_alignment(), expand_used_vars(), gen_tmp_stack_mem(), gimple_expand_cfg(), ira_setup_eliminable_regset(), notice_special_calls(), notice_stack_pointer_modification(), and suitable_for_tail_call_opt_p().
unsigned int function::calls_setjmp |
Referenced by call_can_make_abnormal_goto(), clear_special_calls(), compute_uninit_opnds_pos(), copy_bb(), emit_call_1(), gate_rtl_cprop(), gate_rtl_hoist(), gate_rtl_pre(), gate_rtl_store_motion(), gimple_purge_dead_abnormal_call_edges(), ira(), notice_special_calls(), and suitable_for_tail_call_opt_p().
unsigned int function::can_delete_dead_exceptions |
Referenced by count_reg_usage(), deletable_insn_p(), initialize_cfun(), insn_live_p(), mark_stmt_if_obviously_necessary(), and scan_insn().
unsigned int function::can_throw_non_call_exceptions |
Referenced by allocate_struct_function(), can_inline_edge_p(), check_call(), check_stmt(), control_flow_insn_p(), create_trace_edges(), cse_extended_basic_block(), decompose_multiword_subregs(), distribute_notes(), eliminate_partially_redundant_loads(), emit_input_reload_insns(), emit_libcall_block_1(), emit_output_reload_insns(), expand_function_end(), expand_stack_alignment(), extract_range_from_binary_expr_1(), find_moveable_store(), forward_propagate_into(), initialize_cfun(), insn_could_throw_p(), lra(), make_edges(), mark_stmt_if_obviously_necessary(), prepare_cmp_insn(), reload(), reload_as_needed(), requires_stack_frame_p(), rest_of_handle_postreload(), simple_mem(), simplify_binary_operation_1(), stmt_could_throw_p(), and tree_could_throw_p().
const char* function::cannot_be_copied_reason |
unsigned int function::cannot_be_copied_set |
struct control_flow_graph* function::cfg |
Referenced by create_task_copyfn(), do_tablejump(), dump_function_to_file(), estimate_function_body_sizes(), estimate_num_insns_fn(), expand_omp_taskreg(), gimple_expand_cfg(), gimple_has_body_p(), gimple_set_bb(), initialize_cfun(), make_edges(), move_block_to_fn(), new_label_mapper(), release_function_body(), verify_cgraph_node(), and verify_gimple_label().
unsigned int function::curr_properties |
Referenced by do_warn_aggressive_loop_optimizations(), dump_function_to_file(), execute_function_dump(), execute_one_ipa_transform_pass(), execute_one_pass(), expand_omp_taskreg(), finalize_task_copyfn(), gate_expand_vector_operations_ssa(), gate_handle_loop2(), gate_no_optimization(), gimplify_function_tree(), init_lowered_empty_function(), initialize_cfun(), loop_optimizer_finalize(), loop_optimizer_init(), pass_init_dump_file(), print_rtl_with_bb(), release_function_body(), rtl_loop_done(), tree_function_versioning(), update_properties_after_pass(), and verify_curr_properties().
tree function::decl |
Referenced by alloc_stack_frame_space(), allocate_struct_function(), apply_args_size(), cgraph_update_edges_for_call_stmt(), create_function_info_for(), create_loop_fn(), create_omp_child_function(), create_task_copyfn(), do_warn_unused_parameter(), dump_function_to_file(), estimated_stack_frame_size(), execute_cse_reciprocals(), execute_optimize_stdarg(), execute_update_addresses_taken(), execute_warn_function_return(), expand_builtin_apply(), expand_builtin_apply_args_1(), expand_builtin_va_copy(), expand_omp_taskreg(), find_func_aliases(), find_func_aliases_for_builtin_call(), find_func_clobbers(), find_tail_calls(), gimple_expand_cfg(), graphite_transform_loops(), init_parameter_lattice_values(), initialize_cfun(), intra_create_variable_infos(), local_pure_const(), move_sese_region_to_fn(), parallelize_loops(), pop_cfun(), pop_function_context(), push_cfun(), push_struct_function(), reemit_insn_block_notes(), scan_sharing_clauses(), setup_incoming_promotions(), stabilize_va_list_loc(), thread_prologue_and_epilogue_insns(), unshare_all_rtl_again(), update_parameter_components(), verify_gimple_return(), vt_find_locations(), and warn_uninit().
struct eh_status* function::eh |
Referenced by add_ehspec_entry(), add_ttypes_entry(), assign_filter_values(), cleanup_all_empty_eh(), cleanup_dead_labels_eh(), connect_traces(), copy_cfg_body(), current_function_has_exception_handlers(), dw2_build_landing_pads(), execute_cleanup_eh_1(), expand_builtin_eh_common(), find_rarely_executed_basic_blocks_and_crossing_edges(), for_each_eh_label(), gate_cleanup_eh(), gate_convert_to_eh_region_ranges(), gate_lower_eh_dispatch(), gen_eh_landing_pad(), gen_eh_region(), get_eh_region_and_lp_from_rtx(), gimple_expand_cfg(), init_eh_for_function(), initialize_cfun(), mark_reachable_handlers(), maybe_remove_unreachable_handlers(), move_sese_region_to_fn(), output_one_function_exception_table(), partition_hot_cold_basic_blocks(), release_function_body(), remove_eh_handler(), remove_eh_handler_splicer(), remove_eh_landing_pad(), remove_unreachable_eh_regions(), remove_unreachable_handlers(), remove_unreachable_handlers_no_lp(), sjlj_assign_call_site_values(), sjlj_build_landing_pads(), sjlj_emit_dispatch_table(), and unsplit_all_eh().
struct dw_fde_struct* function::fde |
Referenced by add_cfis_to_fde(), based_loc_descr(), convert_cfa_to_fb_loc_list(), dw_loc_list(), dwarf2out_alloc_current_fde(), dwarf2out_begin_prologue(), dwarf2out_end_epilogue(), dwarf2out_frame_debug(), dwarf2out_frame_debug_expr(), dwarf2out_switch_text_section(), dwarf2out_vms_begin_epilogue(), dwarf2out_vms_end_prologue(), and reg_save().
int function::funcdef_no |
Referenced by dump_function_header().
location_t function::function_end_locus |
location_t function::function_start_locus |
Referenced by gimple_expand_cfg(), and instrument_func_entry().
gimple_seq function::gimple_body |
Referenced by gimple_body(), and gimple_set_body().
struct gimple_df* function::gimple_df |
Referenced by add_stmt_operand(), ao_ref_from_mem(), compute_may_aliases(), compute_points_to_sets(), delete_tree_ssa(), dump_alias_info(), execute_fixup_cfg(), expand_block_edges(), expand_call_inline(), expand_omp_taskreg(), finalize_ssa_defs(), finalize_ssa_uses(), fini_ssa_operands(), fini_ssa_renamer(), gimple_expand_cfg(), init_lowered_empty_function(), init_ssa_renamer(), initialize_cfun(), input_function(), ipa_pta_execute(), local_variable_can_escape(), mark_addressable(), mark_transaction_restart_calls(), parallelize_loops(), prepare_block_for_update(), pt_solution_empty_p(), pt_solution_includes_1(), pt_solution_includes_global(), pt_solutions_intersect_1(), release_dead_ssa_names(), release_function_body(), remap_gimple_stmt(), remap_ssa_name(), split_bb_make_tm_edge(), split_bbs_on_noreturn_calls(), update_alias_info_with_stack_vars(), and update_ssa().
unsigned int function::has_force_vect_loops |
Referenced by copy_cfg_body(), expand_omp_simd(), gate_tree_if_conversion(), and gate_tree_vectorize().
unsigned int function::has_local_explicit_reg_vars |
Referenced by gimplify_bind_expr(), remove_unused_locals(), and statement_sink_location().
unsigned int function::has_nonlocal_label |
Referenced by bb_has_well_behaved_predecessors(), call_can_make_abnormal_goto(), compute_defs_uses_and_gen(), compute_uninit_opnds_pos(), cse_find_path(), expand_builtin_setjmp_setup(), expand_stack_alignment(), finalize_nesting_tree_1(), gimple_purge_dead_abnormal_call_edges(), initialize_cfun(), lower_function_body(), lra(), parallelize_loops(), process_bb_lives(), process_bb_node_lives(), and reload().
unsigned int function::has_simduid_loops |
Referenced by copy_cfg_body(), expand_omp_simd(), and vectorize_loops().
unsigned int function::is_thunk |
Referenced by assemble_start_function(), expand_thunk(), and final().
struct language_function* function::language |
int function::last_stmt_uid |
unsigned int function::last_verified |
Referenced by clear_last_verified(), execute_function_todo(), and initialize_cfun().
struct machine_function* function::machine |
Referenced by allocate_struct_function().
tree function::nonlocal_goto_save_area |
unsigned int function::returns_pcc_struct |
unsigned int function::returns_struct |
tree function::static_chain_decl |
unsigned int function::stdarg |
struct stack_usage* function::su |
Referenced by prepare_function_start().
htab_t function::used_types_hash |
Referenced by output_used_types().
unsigned int function::va_list_fpr_size |
unsigned int function::va_list_gpr_size |
htab_t function::value_histograms |
Referenced by release_function_body().
struct loops* function::x_current_loops |
Referenced by expand_omp_taskreg().