GCC Middle and Back End API Reference
|
#include "dwarf2.h"
Go to the source code of this file.
Data Structures | |
union | dw_cfi_oprnd |
struct | dw_cfi_node |
struct | dw_fde_node |
struct | cfa_reg |
struct | dw_cfa_location |
struct | dw_vec_const |
struct | dw_discr_value |
struct | dw_loc_list_struct |
struct | dw_val_node |
union | dw_val_node::dw_val_struct_union |
struct | dw_val_node::dw_val_struct_union::dw_val_die_union |
struct | dw_val_node::dw_val_struct_union::dw_val_vms_delta_union |
struct | dw_loc_descr_node |
struct | dw_discr_list_node |
struct | dw_wide_int |
struct | array_descr_info |
struct | array_descr_info::array_descr_dimen |
struct | fixed_point_type_info |
struct | dw_attr_struct |
struct | dwarf_file_data |
Macros | |
#define | DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN 16 |
Typedefs | |
typedef struct die_struct * | dw_die_ref |
typedef const struct die_struct * | const_dw_die_ref |
typedef struct dw_val_node * | dw_val_ref |
typedef struct dw_cfi_node * | dw_cfi_ref |
typedef struct dw_loc_descr_node * | dw_loc_descr_ref |
typedef struct dw_loc_list_struct * | dw_loc_list_ref |
typedef struct dw_discr_list_node * | dw_discr_list_ref |
typedef struct dw_wide_int * | dw_wide_int_ptr |
typedef vec< dw_cfi_ref, va_gc > * | cfi_vec |
typedef struct dw_fde_node * | dw_fde_ref |
typedef unsigned int | var_loc_view |
typedef struct dw_loc_list_struct | dw_loc_list_node |
typedef struct dw_attr_struct | dw_attr_node |
Variables | |
cfi_vec | cie_cfi_vec |
#define DWARF2OUT_ARRAY_DESCR_INFO_MAX_DIMEN 16 |
typedef vec<dw_cfi_ref, va_gc>* cfi_vec |
typedef const struct die_struct* const_dw_die_ref |
typedef struct dw_attr_struct dw_attr_node |
Some DWARF internals are exposed for the needs of DWARF-based debug formats.
Each DIE attribute has a field specifying the attribute kind, a link to the next attribute in the chain, and an attribute value. Attributes are typically linked below the DIE they modify.
typedef struct dw_cfi_node* dw_cfi_ref |
typedef struct die_struct* dw_die_ref |
dwarf2out.h - Various declarations for functions found in dwarf2out.cc Copyright (C) 1998-2025 Free Software Foundation, Inc. This file is part of GCC. GCC 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. GCC 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 GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
typedef struct dw_discr_list_node* dw_discr_list_ref |
typedef struct dw_fde_node* dw_fde_ref |
typedef struct dw_loc_descr_node* dw_loc_descr_ref |
typedef struct dw_loc_list_struct dw_loc_list_node |
Location lists are ranges + location descriptions for that range, so you can track variables that are in different places over their entire life.
typedef struct dw_loc_list_struct* dw_loc_list_ref |
typedef struct dw_val_node* dw_val_ref |
typedef struct dw_wide_int* dw_wide_int_ptr |
typedef unsigned int var_loc_view |
enum array_descr_ordering |
enum dw_cfi_oprnd_type : int |
Call frames are described using a sequence of Call Frame Information instructions. The register number, offset and address fields are provided as possible operands; their use is selected by the opcode field.
Enumerator | |
---|---|
dw_cfi_oprnd_unused | |
dw_cfi_oprnd_reg_num | |
dw_cfi_oprnd_offset | |
dw_cfi_oprnd_addr | |
dw_cfi_oprnd_loc | |
dw_cfi_oprnd_cfa_loc |
enum dw_val_class |
Each DIE may have a series of attribute/value pairs. Values can take on several forms. The forms that are used in this implementation are listed below.
|
extern |
Generate a DW_AT_name attribute given some string value to be included as the value of the attribute.
References add_AT_string(), demangle_name_func, and NULL.
Referenced by add_discr_value(), ctf_debug_init(), gen_block_die(), gen_type_die(), and modified_type_die().
|
extern |
References a.
Referenced by assign_location_list_indexes(), AT_addr(), AT_file(), AT_flag(), AT_index(), AT_int(), AT_lbl(), AT_loc(), AT_loc_list(), AT_loc_list_ptr(), AT_ref(), AT_ref_external(), AT_string(), AT_string_form(), AT_unsigned(), AT_vms_delta1(), AT_vms_delta2(), attr_checksum(), attr_checksum_ordered(), build_abbrev_table(), copy_decls_walk(), ctf_get_AT_data_member_location(), dwarf2out_early_finish(), gen_ctf_enumeration_type(), gen_ctf_sou_type(), gen_ctf_subrange_type(), optimize_abbrev_table(), optimize_external_refs_1(), optimize_implicit_const(), optimize_location_lists(), output_attr_index_or_value(), output_die(), output_die_abbrevs(), output_location_lists(), output_loclists_offsets(), prune_unused_types_prune(), remove_AT(), set_AT_ref_external(), should_move_die_to_comdat(), size_of_die(), unmark_all_dies(), value_format(), and view_list_to_loc_list_val_node().
|
extern |
References a, AT_class(), dw_val_class_const, dw_val_class_const_implicit, and gcc_assert.
Referenced by ctf_get_AT_data_member_location(), gen_ctf_enumeration_type(), gen_ctf_sou_type(), output_die(), and size_of_die().
|
extern |
References a, AT_class(), dw_val_class_loc, and gcc_assert.
Referenced by attr_checksum(), attr_checksum_ordered(), ctf_get_AT_data_member_location(), dwarf2out_early_finish(), note_variable_value_in_expr(), output_die(), prune_unused_types_mark_generic_parms_dies(), resolve_addr(), size_of_die(), and value_format().
|
extern |
References a, AT_class(), dw_val_class_unsigned_const, dw_val_class_unsigned_const_implicit, and gcc_assert.
Referenced by ctf_die_bitsize(), gen_ctf_enumeration_type(), gen_ctf_sou_type(), get_AT_unsigned(), optimize_implicit_const(), output_die(), size_of_die(), and value_format().
|
extern |
Given a pointer to a tree node for some base type, return a pointer to a DIE that describes the given type. REVERSE is true if the type is to be interpreted in the reverse storage order wrt the target order. This routine must only be called for GCC type nodes that correspond to Dwarf base (fundamental) types.
References add_alignment_attribute(), add_AT_die_ref(), add_AT_int(), add_AT_unsigned(), add_scalar_info(), fixed_point_type_info::arbitrary, fixed_point_type_info::binary, comp_unit_die(), fixed_point_type_info::decimal, DECIMAL_FLOAT_MODE_P, DECL_IS_UNDECLARED_BUILTIN, DECL_NAME, fixed_point_type_info::denominator, dw_scalar_form_constant, dw_scalar_form_exprloc, dw_scalar_form_reference, fixed_point_scale_factor_arbitrary, fixed_point_scale_factor_binary, fixed_point_scale_factor_decimal, gcc_unreachable, lang_hooks_for_types::get_fixed_point_type_info, lang_hooks_for_types::get_type_bias, IDENTIFIER_POINTER, int_size_in_bytes(), is_rust(), need_endianity_attribute_p(), new_die(), new_die_raw(), NULL, NULL_TREE, fixed_point_type_info::numerator, SCALAR_FLOAT_TYPE_P, fixed_point_type_info::scale_factor, fixed_point_type_info::scale_factor_kind, TREE_CODE, TREE_TYPE, TYPE_MODE, TYPE_NAME, TYPE_PRECISION, TYPE_STRING_FLAG, TYPE_UNSIGNED, and lang_hooks::types.
Referenced by ctf_debug_init(), and modified_type_die().
|
extern |
This function builds a dwarf location descriptor sequence for the address at OFFSET from the CFA when stack is aligned to ALIGNMENT byte.
References add_loc_descr(), DWARF_FRAME_REGNUM, HARD_FRAME_POINTER_REGNUM, dw_cfa_location::indirect, int_loc_descriptor(), loc_descr_plus_const(), new_loc_descr(), new_reg_loc_descr(), cfa_reg::reg, and dw_cfa_location::reg.
Referenced by reg_save().
|
extern |
Interface from dwarf2out.cc to dwarf2cfi.cc.
This function builds a dwarf location descriptor sequence from a dw_cfa_location, adding the given OFFSET to the result of the expression.
References add_loc_descr(), dw_cfa_location::base_offset, build_span_loc(), dw_val_class_const, dw_cfa_location::indirect, loc_descr_plus_const(), new_loc_descr(), new_reg_loc_descr(), NULL, dw_cfa_location::offset, cfa_reg::reg, dw_cfa_location::reg, and cfa_reg::span.
Referenced by convert_cfa_to_fb_loc_list(), def_cfa_0(), and reg_save().
|
extern |
Build a dwarf location for a cfa_reg spanning multiple consecutive registers.
References add_loc_descr(), build_breg_loc(), gcc_assert, i, int_loc_descriptor(), new_loc_descr(), NULL, cfa_reg::reg, cfa_reg::span, and cfa_reg::span_width.
Referenced by build_cfa_loc(), and reg_save().
|
extern |
Determine if two dw_cfa_location structures define the same data.
References dw_cfa_location::base_offset, dw_cfa_location::indirect, known_eq, dw_cfa_location::offset, and dw_cfa_location::reg.
Referenced by cfi_oprnd_equal_p(), cfi_row_equal_p(), convert_cfa_to_fb_loc_list(), and def_cfa_0().
|
extern |
References DEBUG_FUNCTION, and print_die().
|
extern |
References debug, and DEBUG_FUNCTION.
|
extern |
Print all DWARF information collected for the compilation unit. This routine is a debugging aid only.
References comp_unit_die(), DEBUG_FUNCTION, print_die(), and print_indent.
|
extern |
|
extern |
Print the list of operations in the LOC location description.
References DEBUG_FUNCTION, and print_loc_descr().
|
extern |
Interface from dwarf2*.c to the rest of the compiler.
Describe for the GTY machinery what parts of dw_cfi_oprnd1 are used.
References dw_cfi_oprnd_addr, dw_cfi_oprnd_loc, dw_cfi_oprnd_offset, dw_cfi_oprnd_reg_num, dw_cfi_oprnd_unused, gcc_unreachable, and targetm.
Referenced by cfi_equal_p().
|
extern |
Describe for the GTY machinery what parts of dw_cfi_oprnd2 are used.
References dw_cfi_oprnd_cfa_loc, dw_cfi_oprnd_loc, dw_cfi_oprnd_offset, dw_cfi_oprnd_reg_num, and dw_cfi_oprnd_unused.
Referenced by cfi_equal_p().
|
extern |
Return a reference to the children list of a given DIE.
References die_struct::die_child.
Referenced by gen_ctf_array_type(), gen_ctf_enumeration_type(), gen_ctf_function_type(), and gen_ctf_sou_type().
|
extern |
Returns the parent of the declaration of DIE.
References die_struct::die_parent, get_AT_ref(), and NULL.
Referenced by generate_type_signature().
|
extern |
Return a reference to the sibling of a given DIE.
References die_struct::die_sib.
Referenced by gen_ctf_array_type(), gen_ctf_enumeration_type(), gen_ctf_function_type(), gen_ctf_sou_type(), and gen_ctf_subrange_type().
|
extern |
Return the tag of a given DIE.
References die_struct::die_tag.
Referenced by ctf_do_die(), gen_ctf_function_type(), gen_ctf_modifier_type(), gen_ctf_subrange_type(), and gen_ctf_type().
void dwarf2cfi_cc_finalize | ( | void | ) |
References add_cfi_insn, add_cfi_vec, cur_cfa, cur_row, cur_trace, and NULL.
Referenced by toplev::finalize().
|
extern |
Allocate CURRENT_FDE. Immediately initialize all we can, noting that this allocation may be done before pass_final.
References dw_fde_node::all_throwers_are_sibcalls, cfun, crtl, current_function_decl, current_function_funcdef_no, dw_fde_node::decl, dw_fde_node::drap_reg, dw_fde_node::fde_index, fde_vec, dw_fde_node::funcdef_number, ggc_cleared_alloc(), INVALID_REGNUM, dw_fde_node::nothrow, dw_fde_node::uses_eh_lsda, dw_fde_node::vdrap_reg, vec_safe_length(), and vec_safe_push().
Referenced by dwarf2out_begin_prologue(), and execute_dwarf2_frame().
void dwarf2out_cc_finalize | ( | void | ) |
Reset all state within dwarf2out.cc so that we can rerun the compiler within the same process. For use by toplev::finalize.
References asm_out_file, debug_line_section_label, debug_macinfo_section, macinfo_section_label, and macinfo_table.
Referenced by toplev::finalize().
|
extern |
References asm_out_file, dwarf2out_do_cfi_asm(), and output_cfi_directive().
Referenced by final_scan_insn_1().
|
extern |
|
extern |
Get the attribute of type attr_kind.
References a, AT_ref(), die_struct::die_attr, FOR_EACH_VEC_SAFE_ELT, get_AT(), and NULL.
Referenced by add_AT_location_description(), add_AT_view_list(), add_data_member_location_attribute(), add_linkage_attr(), add_location_or_const_value_attribute(), AT_loc_list_ptr(), attr_checksum_ordered(), collect_skeleton_dies(), ctf_die_bitsize(), ctf_get_AT_data_member_location(), die_checksum_ordered(), dwarf2out_next_real_insn(), gen_const_die(), gen_ctf_enumeration_type(), gen_ctf_sou_type(), gen_ctf_subrange_type(), gen_label_die(), get_AT(), get_AT_file(), get_AT_flag(), get_AT_low_pc(), get_AT_ref(), get_AT_string(), get_AT_unsigned(), premark_used_types_helper(), prune_unused_types_update_strings(), retry_incomplete_types(), should_move_die_to_comdat(), tree_add_const_value_attribute_for_decl(), and view_list_to_loc_list_val_node().
|
extern |
References a, AT_file(), get_AT(), and NULL.
Referenced by ctf_get_die_loc_file().
|
extern |
Return the value of the flag attribute designated by ATTR_KIND, or -1 if it is not present.
References a, AT_flag(), and get_AT().
Referenced by gen_ctf_array_type(), gen_ctf_enumeration_type(), gen_ctf_function_type(), gen_ctf_sou_type(), gen_ctf_variable(), output_pubname(), and prune_unused_types_walk_local_classes().
|
extern |
References a, AT_ref(), get_AT(), and NULL.
Referenced by attr_checksum_ordered(), checksum_die_context(), clone_as_declaration(), copy_ancestor_tree(), copy_declaration_context(), ctf_get_AT_type(), die_checksum_ordered(), dw_get_die_parent(), gen_ctf_variable(), generate_type_signature(), is_nested_in_subprogram(), optimize_external_refs_1(), qualified_die_p(), reset_dies(), splice_child_die(), and strip_naming_typedef().
|
extern |
Return the value of the string attribute designated by ATTR_KIND, or NULL if it is not present.
References a, AT_string(), get_AT(), and NULL.
Referenced by add_enumerator_pubname(), checksum_die_context(), compute_comp_unit_symbol(), gen_ctf_base_type(), gen_ctf_enumeration_type(), gen_ctf_function_type(), gen_ctf_sou_type(), gen_ctf_type(), gen_ctf_typedef(), gen_ctf_variable(), generate_type_signature(), output_file_names(), and output_index_string_offset().
|
extern |
Return the value of the unsigned attribute designated by ATTR_KIND, or 0 if it is not present.
References a, AT_unsigned(), and get_AT().
Referenced by add_bound_info(), break_out_comdat_types(), ctf_get_AT_data_member_location(), ctf_get_die_loc_col(), ctf_get_die_loc_line(), gen_ctf_base_type(), gen_ctf_enumeration_type(), gen_ctf_subrange_type(), is_ada(), is_c(), is_cxx(), is_dlang(), is_fortran(), is_rust(), modified_type_die(), and move_marked_base_types().
|
extern |
Compare two complete location expressions for exact equality.
References a, b, loc_descr_equal_p_1(), and NULL.
Referenced by cfi_oprnd_equal_p().
|
extern |
Interface from dwarf2cfi.cc to dwarf2out.cc.
Find the previous value for the CFA, iteratively. CFI is the opcode to interpret, *LOC will be updated as necessary, *REMEMBER is used for one level of remember/restore state processing.
References dw_cfi_oprnd::dw_cfi_cfa_loc, dw_cfi_oprnd::dw_cfi_loc, dw_cfi_oprnd::dw_cfi_offset, dw_cfi_node::dw_cfi_opc, dw_cfi_node::dw_cfi_oprnd1, dw_cfi_node::dw_cfi_oprnd2, dw_cfi_oprnd::dw_cfi_reg_num, gcc_assert, get_cfa_from_loc_descr(), dw_cfa_location::in_use, dw_cfa_location::offset, dw_cfa_location::reg, and cfa_reg::set_by_dwreg().
Referenced by convert_cfa_to_fb_loc_list().
|
extern |
Return the DIE associated with a given declaration.
References decl_die_table, DECL_UID, maybe_create_die_with_external_ref(), and NULL.
Referenced by btf_add_const_void(), btf_add_func_datasec_entries(), btf_add_func_records(), btf_emit_variable_p(), decls_for_scope(), dwarf2out_decl(), dwarf2out_die_ref_for_decl(), dwarf2out_type_decl(), force_decl_die(), function_to_dwarf_procedure(), gen_generic_params_dies(), gen_subprogram_die(), implicit_ptr_descriptor(), loc_list_from_tree_1(), maybe_create_die_with_external_ref(), optimize_one_addr_into_implicit_ptr(), parameter_ref_descriptor(), and prune_unused_types_walk_attribs().
|
extern |
Return the DIE associated with the given type specifier.
References NULL, die_struct::removed, TREE_ASM_WRITTEN, and TYPE_SYMTAB_DIE.
Referenced by add_gnat_descriptive_type_attribute(), add_src_coords_attributes(), base_type_for_mode(), ctf_lookup_tree_type(), declare_in_namespace(), force_decl_die(), gen_generic_params_dies(), gen_tagged_type_die(), gen_type_die(), lookup_type_die_strip_naming_typedef(), and modified_type_die().
|
extern |
The following routine converts the RTL for a variable or parameter (resident in memory) into an equivalent Dwarf representation of a mechanism for getting the address of that same variable onto the top of a hypothetical "address evaluation" stack. When creating memory location descriptors, we are effectively transforming the RTL for a memory-resident object into its Dwarf postfix expression equivalent. This routine recursively descends an RTL tree, turning it into Dwarf postfix code as it goes. MODE is the mode that should be assumed for the rtl if it is VOIDmode. MEM_MODE is the mode of the memory reference, needed to handle some autoincrement addressing modes. Return 0 if we can't represent the location.
References add_loc_descr(), ALL, alloc_dw_wide_int(), arg_pointer_rtx, dw_vec_const::array, as_a(), avoid_constant_pool_reference(), base_type_for_mode(), based_loc_descr(), bswap_loc_descriptor(), clz_loc_descriptor(), CONST_INT_P, const_ok_for_output(), const_ok_for_output_1(), CONSTANT_P, convert_descriptor_to_mode(), crtl, debugger_reg_number(), dw_val_node::dw_val_struct_union::dw_val_die_union::die, do_binop(), do_unop(), dtprel_false, dtprel_true, dw_loc_descr_node::dw_loc_opc, dw_loc_descr_node::dw_loc_oprnd1, dw_loc_descr_node::dw_loc_oprnd2, dw_val_class_const, dw_val_class_const_double, dw_val_class_die_ref, dw_val_class_loc, dw_val_class_vec, dw_val_class_wide_int, DWARF2_ADDR_SIZE, dwarf_OP(), dw_vec_const::elt_size, ENTRY_VALUE_EXP, expansion_failed(), dw_val_node::dw_val_struct_union::dw_val_die_union::external, FOR_EACH_SUBRTX_VAR, frame_pointer_rtx, double_int::from_shwi(), gcc_assert, gcc_unreachable, gen_int_mode(), get_address_mode(), GET_CODE, GET_MODE, GET_MODE_BITSIZE(), GET_MODE_MASK, GET_MODE_SIZE(), GET_MODE_UNIT_SIZE, ggc_vec_alloc(), HOST_BITS_PER_DOUBLE_INT, HOST_BITS_PER_WIDE_INT, IGNORED_DWARF_REGNUM, initialized, insert_float(), int_loc_descriptor(), int_mode_for_size(), INTVAL, is_a(), is_based_loc(), known_eq, dw_vec_const::length, loc_descr_plus_const(), mem_loc_descriptor(), MEM_P, minmax_loc_descriptor(), new_addr_loc_descr(), new_loc_descr(), NULL, NULL_RTX, NULL_TREE, one_reg_loc_descriptor(), parameter_ref_descriptor(), popcount_loc_descriptor(), print_rtl(), ptr_mode, REG_P, REGNO, resolve_one_addr(), rotate_loc_descriptor(), rtx_to_double_int(), rtx_to_poly_int64(), SCALAR_FLOAT_MODE_P, SCALAR_INT_MODE_P, scompare_loc_descriptor(), shift, size_of_int_loc_descriptor(), stack_realign_drap, subreg_lowpart_p(), SUBREG_REG, SYMBOL_REF_TLS_MODEL, targetm, tls_mem_loc_descriptor(), TLS_MODEL_NONE, trunc_int_for_mode(), typed_binop(), ucompare_loc_descriptor(), used_rtx_array, dw_val_node::v, dw_val_node::val_class, dw_val_node::dw_val_struct_union::val_die_ref, dw_val_node::dw_val_struct_union::val_double, dw_val_node::dw_val_struct_union::val_loc, dw_val_node::dw_val_struct_union::val_vec, dw_val_node::dw_val_struct_union::val_wide, VAR_INIT_STATUS_INITIALIZED, VAR_INIT_STATUS_UNINITIALIZED, vec_safe_push(), word_mode, XEXP, XINT, XVECEXP, and XVECLEN.
Referenced by bswap_loc_descriptor(), clz_loc_descriptor(), cst_pool_loc_descr(), dw_loc_list_1(), dwarf2out_frame_debug_cfa_expression(), dwarf2out_frame_debug_cfa_val_expression(), loc_descriptor(), loc_list_from_tree_1(), mem_loc_descriptor(), minmax_loc_descriptor(), popcount_loc_descriptor(), reg_loc_descriptor(), rotate_loc_descriptor(), scompare_loc_descriptor(), typed_binop(), and ucompare_loc_descriptor().
|
extern |
Create and return a new die with TAG_VALUE as tag.
References die_struct::die_tag, and ggc_cleared_alloc().
Referenced by add_AT_external_die_ref(), base_type_die(), clone_as_declaration(), clone_die(), ctf_debug_init(), modified_type_die(), and new_die().
|
extern |
Output a Call Frame Information opcode and its operand(s).
References ASM_PREFERRED_EH_DATA_FORMAT, div_data_align(), dw2_asm_output_addr(), dw2_asm_output_data(), dw2_asm_output_data_sleb128(), dw2_asm_output_data_uleb128(), dw2_asm_output_delta(), dw2_asm_output_encoded_addr_rtx(), dw_cfi_oprnd::dw_cfi_addr, dw_cfi_oprnd::dw_cfi_offset, dw_cfi_node::dw_cfi_opc, dw_cfi_node::dw_cfi_oprnd1, dw_cfi_node::dw_cfi_oprnd2, dw_cfi_oprnd::dw_cfi_reg_num, dw_fde_node::dw_fde_current_label, DWARF2_ADDR_SIZE, DWARF2_FRAME_REG_OUT, dwarf_cfi_name(), gcc_unreachable, HOST_WIDE_INT_PRINT_HEX, NULL, output_cfa_loc(), and r.
Referenced by output_call_frame_info(), and output_fde().
|
extern |
Similar, but do it via assembler directives instead.
References ASM_COMMENT_START, asm_out_file, dw2_asm_output_data_uleb128_raw(), dw_cfi_oprnd::dw_cfi_offset, dw_cfi_node::dw_cfi_opc, dw_cfi_node::dw_cfi_oprnd1, dw_cfi_node::dw_cfi_oprnd2, dw_cfi_oprnd::dw_cfi_reg_num, DWARF2_FRAME_REG_OUT, fputc(), gcc_assert, gcc_unreachable, HOST_WIDE_INT_PRINT_DEC, output_cfa_loc_raw(), r, and targetm.
Referenced by connect_traces(), dump_cfi_row(), dwarf2out_emit_cfi(), and rtx_writer::print_rtx_operand_code_0().
|
extern |
Output a sequence of location operations. The for_eh_or_skip parameter controls whether register numbers are converted using DWARF2_FRAME_REG_OUT, which is needed in the case that hard reg numbers have been processed via DWARF_FRAME_REGNUM (i.e. for unwind info). This should be suppressed for the cases that have not been converted (i.e. symbolic debug info), by setting the parameter < 0. See PR47324.
References dw2_asm_output_data(), dw_loc_descr_node::dw_loc_next, dw_loc_descr_node::dw_loc_opc, DWARF2_FRAME_REG_OUT, dwarf_stack_op_name(), gcc_assert, NULL, output_loc_operands(), and r.
Referenced by output_cfa_loc(), output_die(), output_loc_list(), and output_loc_operands().
|
extern |
References asm_out_file, dw_loc_descr_node::dw_loc_next, dw_loc_descr_node::dw_loc_opc, DWARF2_FRAME_REG_OUT, fputc(), gcc_assert, output_loc_operands_raw(), and r.
Referenced by output_cfa_loc_raw().
|
extern |
Return the size of a series of location descriptors.
References dw_loc_descr_node::dw_loc_addr, dw_loc_descr_node::dw_loc_next, dw_loc_descr_node::dw_loc_opc, NULL, and size_of_loc_descr().
Referenced by output_cfa_loc(), output_cfa_loc_raw(), output_die(), output_loc_operands(), size_of_die(), size_of_loc_descr(), skip_loc_list_entry(), and value_format().
|
extern |
A vector of call frame insns for the CIE.
Referenced by convert_cfa_to_fb_loc_list(), create_cie_data(), execute_dwarf2_frame(), and output_call_frame_info().