GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | gcc_debug_hooks |
Typedefs | |
typedef hash_map< const_tree, int > | decl_to_instance_map_t |
Variables | |
const struct gcc_debug_hooks * | debug_hooks |
const struct gcc_debug_hooks | do_nothing_debug_hooks |
const struct gcc_debug_hooks | xcoff_debug_hooks |
const struct gcc_debug_hooks | dwarf2_debug_hooks |
const struct gcc_debug_hooks | dwarf2_lineno_debug_hooks |
const struct gcc_debug_hooks | vmsdbg_debug_hooks |
decl_to_instance_map_t * | decl_to_instance_map |
typedef hash_map<const_tree, int> decl_to_instance_map_t |
Instance discriminator mapping table. See final.cc.
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
The do-nothing hooks.
This file contains implementations of each debug hook that do nothing.
|
extern |
|
extern |
For -fdump-go-spec.
Set up our hooks.
References gcc_debug_hooks::define, gcc_debug_hooks::early_global_decl, error(), gcc_debug_hooks::finish, fopen, gcc_debug_hooks::function_decl, go_debug_hooks, go_define(), go_dump_file, go_early_global_decl(), go_finish(), go_function_decl(), go_late_global_decl(), go_type_decl(), go_undef(), gcc_debug_hooks::late_global_decl, macro_hash, macro_hash_del(), macro_hash_eq(), macro_hash_hashval(), NULL, real_debug_hooks, gcc_debug_hooks::type_decl, and gcc_debug_hooks::undef.
Referenced by process_options().
|
extern |
Dwarf2 frame information.
Output a marker (i.e. a label) for the beginning of a function, before the prologue.
References asm_out_file, ASM_OUTPUT_DEBUG_LABEL, cfun, cold_text_section, current_function_decl, current_function_func_begin_label, current_function_funcdef_no, current_unit_personality, DECL_IGNORED_P, do_eh_frame, dw_fde_node::dw_fde_begin, dw_fde_node::dw_fde_current_label, dwarf2out_alloc_current_fde(), dwarf2out_do_cfi_asm(), dwarf2out_do_cfi_startproc(), dwarf2out_do_eh_frame(), dwarf2out_do_frame(), dwarf2out_source_line(), FUNC_BEGIN_LABEL, function_section(), get_personality_function(), global_options, dw_fde_node::ignored_debug, dw_fde_node::in_std_section, in_text_section_p, MAX_ARTIFICIAL_LABEL_BYTES, NULL, sorry(), switch_to_section(), text_section, and UI_SJLJ.
Referenced by final_start_function_1().
|
extern |
Return true if GCC configure detected assembler support for .loc.
References DWARF2_ASM_LINE_DEBUG_INFO.
Referenced by process_options().
|
extern |
Return true if GCC configure detected assembler support for views in .loc directives.
References DWARF2_ASM_VIEW_DEBUG_INFO.
Referenced by process_options().
|
extern |
Decide whether to emit frame unwind via assembler directives.
References ASM_PREFERRED_EH_DATA_FORMAT, dwarf2out_do_eh_frame(), dwarf2out_do_frame(), and saved_do_cfi_asm.
Referenced by cfi_label_required_p(), dwarf2out_begin_prologue(), dwarf2out_emit_cfi(), dwarf2out_end_epilogue(), dwarf2out_switch_text_section(), and output_call_frame_info().
|
extern |
Decide whether to emit EH frame unwind information for the current translation unit.
References global_options, and UI_DWARF2.
Referenced by dwarf2out_begin_prologue(), dwarf2out_do_cfi_asm(), and dwarf2out_do_frame().
|
extern |
Decide whether we want to emit frame unwind information for the current translation unit.
References dwarf2out_do_eh_frame(), dwarf_based_debuginfo_p(), dwarf_debuginfo_p(), saved_do_cfi_asm, targetm, and UI_DWARF2.
Referenced by dwarf2out_begin_prologue(), dwarf2out_do_cfi_asm(), final_end_function(), and final_scan_insn_1().
|
extern |
Output a marker (i.e. a label) for the absolute end of the generated code for a function definition. This gets called *after* the epilogue code has been generated.
References asm_out_file, ASM_OUTPUT_LABEL, cached_next_real_insn, cfun, codeview_debuginfo_p(), codeview_end_epilogue(), current_function_funcdef_no, dw_fde_node::dw_fde_end, dw_fde_node::dw_fde_second_begin, dwarf2out_do_cfi_asm(), FUNC_END_LABEL, gcc_assert, last_var_location_insn, mark_ignored_debug_section(), MAX_ARTIFICIAL_LABEL_BYTES, and NULL.
Referenced by final_end_function().
|
extern |
References do_eh_frame, output_call_frame_info(), targetm, and UI_DWARF2.
Referenced by compile_file().
|
extern |
References asm_out_file, cfun, codeview_debuginfo_p(), codeview_switch_text_section(), cold_text_section, crtl, current_function_funcdef_no, current_function_section(), dw_fde_node::dw_fde_end, dw_fde_node::dw_fde_second_begin, dw_fde_node::dw_fde_second_end, dwarf2out_do_cfi_asm(), dwarf2out_do_cfi_startproc(), FUNC_SECOND_SECT_LABEL, gcc_assert, ggc_strdup, have_multiple_function_sections, in_cold_section_p, in_text_section_p, mark_ignored_debug_section(), MAX_ARTIFICIAL_LABEL_BYTES, NULL, dw_fde_node::second_in_std_section, set_cur_line_info_table(), switch_to_section(), text_section, and var_location_switch_text_section().
Referenced by final_scan_insn_1().
|
extern |
Output a marker (i.e. a label) for the beginning of the generated code for a function epilogue. This gets called *before* the prologue code has been generated.
References asm_out_file, ASM_OUTPUT_DEBUG_LABEL, cfun, current_function_funcdef_no, dw_fde_node::dw_fde_vms_begin_epilogue, EPILOGUE_BEGIN_LABEL, and MAX_ARTIFICIAL_LABEL_BYTES.
|
extern |
Output a marker (i.e. a label) for the end of the generated code for a function prologue. This gets called *after* the prologue code has been generated.
References asm_out_file, ASM_OUTPUT_DEBUG_LABEL, cfun, current_function_funcdef_no, MAX_ARTIFICIAL_LABEL_BYTES, and PROLOGUE_END_LABEL.
|
inline |
Allocate decl_to_instance_map with COUNT slots to begin wtih, if it * hasn't been allocated yet.
References count, and decl_to_instance_map.
Referenced by input_struct_function_base().
|
extern |
Debug hooks - dependent upon command line options.
Referenced by analyze_functions(), varpool_node::assemble_decl(), assemble_start_function(), symbol_table::compile(), compile_file(), expand_call_inline(), final_end_function(), final_scan_insn_1(), final_start_function_1(), symbol_table::finalize_compilation_unit(), cgraph_node::finalize_function(), finalize_size_functions(), lang_dependent_init(), lhd_finalize_early_debug(), lto_input_tree(), lto_write_tree_1(), toplev::main(), mark_scope_block_unused(), maybe_output_next_view(), process_options(), symbol_table::remove_unreachable_nodes(), rest_of_decl_compilation(), rest_of_handle_final(), rest_of_type_compilation(), run_rtl_passes(), and tree_function_versioning().
|
extern |
Map DECLs to instance discriminators. This is allocated and defined in ada/gcc-interfaces/trans.cc, when compiling with -gnateS. Mappings from this table are saved and restored for LTO, so link-time compilation will have this map set, at least in partitions containing at least one DECL with an associated instance discriminator.
Referenced by compute_discriminator(), map_decl_to_instance(), maybe_create_decl_to_instance_map(), and output_struct_function_base().
|
extern |
Hooks for various debug formats.
Do-nothing debug hooks for GCC. Copyright (C) 2001-2024 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
The do-nothing debug hooks.
Referenced by toplev::main().
|
extern |
The debug hooks structure.
Referenced by process_options().
|
extern |
Referenced by process_options().
|
extern |
Referenced by process_options().
|
extern |