dwarf2.h: Sync with include/elf/dwarf2.h
2004-10-06 Eric Christopher <echristo@redhat.com> * dwarf2.h: Sync with include/elf/dwarf2.h From-SVN: r88626
This commit is contained in:
parent
55e9452ed5
commit
df7d2d8064
2 changed files with 196 additions and 52 deletions
|
@ -1,13 +1,17 @@
|
|||
2004-10-06 Eric Christopher <echristo@redhat.com>
|
||||
|
||||
* dwarf2.h: Sync with include/elf/dwarf2.h
|
||||
|
||||
2004-10-06 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
* tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
|
||||
and TREE_VEC nodes.
|
||||
and TREE_VEC nodes.
|
||||
|
||||
2004-10-06 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
|
||||
to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
|
||||
|
||||
|
||||
2004-10-06 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
* lambda-code.c (compute_nest_using_fourier_motzkin): New
|
||||
|
@ -19,7 +23,7 @@
|
|||
* tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
|
||||
* tree-flow.h: Add prototype.
|
||||
* lambda-code.c (invariant_in_loop_and_outer_loops): Use
|
||||
expr_invariant_in_loop.
|
||||
expr_invariant_in_loop.
|
||||
|
||||
2004-10-06 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
|
@ -257,62 +261,62 @@
|
|||
|
||||
* Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
|
||||
* cfgloop.c (initialize_loops_parallel_p): New.
|
||||
(flow_loops_find): Initialize the parallel_p field to true for all
|
||||
(flow_loops_find): Initialize the parallel_p field to true for all
|
||||
the loops.
|
||||
* tree-ssa-loop-niter.c: Include "tree-data-ref.h".
|
||||
(estimate_numbers_of_iterations_loop): Infers the loop bounds from
|
||||
(estimate_numbers_of_iterations_loop): Infers the loop bounds from
|
||||
the size of the data accessed in the loop.
|
||||
(struct nb_iter_bound): Moved...
|
||||
(struct nb_iter_bound): Moved...
|
||||
* cfgloop.h (struct nb_iter_bound): ... here.
|
||||
(estimated_nb_iterations, parallel_p): New fields in struct loop.
|
||||
(record_estimate): Declare extern here.
|
||||
* tree-chrec.c: Fix comments.
|
||||
(nb_vars_in_chrec): New function.
|
||||
* tree-chrec.h (nb_vars_in_chrec): Declared here.
|
||||
* tree-data-ref.c: Don't include lambda.h, that is already included
|
||||
* tree-data-ref.c: Don't include lambda.h, that is already included
|
||||
in tree-data-ref.h.
|
||||
(tree_fold_divides_p): Don't check for integer_onep.
|
||||
(tree_fold_bezout): Removed.
|
||||
(gcd): New static duplicated function.
|
||||
(int_divides_p, dump_subscript): New.
|
||||
(dump_data_dependence_relation): Use dump_subscript.
|
||||
(dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
|
||||
(dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
|
||||
estimate_niter_from_size_of_data): New.
|
||||
(analyze_array_indexes, analyze_array): Call
|
||||
estimate_niter_from_size_of_data during the detection of array
|
||||
references. Pass in a pointer to the statement that contains the
|
||||
(analyze_array_indexes, analyze_array): Call
|
||||
estimate_niter_from_size_of_data during the detection of array
|
||||
references. Pass in a pointer to the statement that contains the
|
||||
array reference.
|
||||
(all_chrecs_equal_p): New.
|
||||
(compute_distance_vector): Renamed compute_subscript_distance.
|
||||
Deal with multivariate conflict functions.
|
||||
(initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
|
||||
(initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
|
||||
DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
|
||||
(non_affine_dependence_relation): New.
|
||||
(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
|
||||
analyze_siv_subscript, analyze_miv_subscript,
|
||||
analyze_overlapping_iterations, subscript_dependence_tester):
|
||||
(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
|
||||
analyze_siv_subscript, analyze_miv_subscript,
|
||||
analyze_overlapping_iterations, subscript_dependence_tester):
|
||||
Initialize and return last_conflicts function.
|
||||
(initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
|
||||
compute_overlap_steps_for_affine_1_2): New.
|
||||
(analyze_siv_subscript_affine_cst): Removed.
|
||||
(analyze_subscript_affine_affine): Disprove dependences based on the
|
||||
iteration domains. Solve the univariate dependence case as before,
|
||||
(analyze_subscript_affine_affine): Disprove dependences based on the
|
||||
iteration domains. Solve the univariate dependence case as before,
|
||||
but use lambda_matrix_right_hermite instead of tree_fold_bezout.
|
||||
Implement the multivariate case of 2 versus 1 variables.
|
||||
(undetermined_conflicts_p, no_conflicts_p): New.
|
||||
(build_classic_dist_vector, build_classic_dir_vector): Implement some
|
||||
(undetermined_conflicts_p, no_conflicts_p): New.
|
||||
(build_classic_dist_vector, build_classic_dir_vector): Implement some
|
||||
unhandled cases.
|
||||
(find_data_references_in_loop): Compute and initialize
|
||||
(find_data_references_in_loop): Compute and initialize
|
||||
loop->estimated_nb_iterations and loop->parallel_p.
|
||||
(analyze_all_data_dependences): Modify the debug dump order.
|
||||
* tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
|
||||
subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
|
||||
(SUB_LAST_CONFLICT, subscript->last_conflict,
|
||||
(SUB_LAST_CONFLICT, subscript->last_conflict,
|
||||
data_dependence_relation->affine_p, data_dependence_relation->size_vect,
|
||||
DDR_AFFINE_P, DDR_SIZE_VECT): New.
|
||||
(find_data_references_in_loop, initialize_data_dependence_relation,
|
||||
dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
|
||||
|
||||
|
||||
|
||||
2004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
|
||||
|
||||
|
|
200
gcc/dwarf2.h
200
gcc/dwarf2.h
|
@ -1,7 +1,7 @@
|
|||
/* Declarations and definitions of codes relating to the DWARF2 symbolic
|
||||
debugging information format.
|
||||
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
|
||||
2003, 2004 Free Software Foundation, Inc.
|
||||
|
||||
Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
|
||||
Office (AJPO), Florida State University and Silicon Graphics Inc.
|
||||
|
@ -10,22 +10,22 @@
|
|||
Derived from the DWARF 1 implementation written by Ron Guilmette
|
||||
(rfg@netcom.com), November 1990.
|
||||
|
||||
This file is part of GCC.
|
||||
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 2, or (at your option) any later
|
||||
version.
|
||||
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 2, 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.
|
||||
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 COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
/* This file is derived from the DWARF specification (a public document)
|
||||
Revision 2.0.0 (July 27, 1993) developed by the UNIX International
|
||||
|
@ -41,6 +41,92 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
#ifndef GCC_DWARF2_H
|
||||
#define GCC_DWARF2_H
|
||||
|
||||
/* Structure found in the .debug_line section. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned char li_length [4];
|
||||
unsigned char li_version [2];
|
||||
unsigned char li_prologue_length [4];
|
||||
unsigned char li_min_insn_length [1];
|
||||
unsigned char li_default_is_stmt [1];
|
||||
unsigned char li_line_base [1];
|
||||
unsigned char li_line_range [1];
|
||||
unsigned char li_opcode_base [1];
|
||||
}
|
||||
DWARF2_External_LineInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned long li_length;
|
||||
unsigned short li_version;
|
||||
unsigned int li_prologue_length;
|
||||
unsigned char li_min_insn_length;
|
||||
unsigned char li_default_is_stmt;
|
||||
int li_line_base;
|
||||
unsigned char li_line_range;
|
||||
unsigned char li_opcode_base;
|
||||
}
|
||||
DWARF2_Internal_LineInfo;
|
||||
|
||||
/* Structure found in .debug_pubnames section. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned char pn_length [4];
|
||||
unsigned char pn_version [2];
|
||||
unsigned char pn_offset [4];
|
||||
unsigned char pn_size [4];
|
||||
}
|
||||
DWARF2_External_PubNames;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned long pn_length;
|
||||
unsigned short pn_version;
|
||||
unsigned long pn_offset;
|
||||
unsigned long pn_size;
|
||||
}
|
||||
DWARF2_Internal_PubNames;
|
||||
|
||||
/* Structure found in .debug_info section. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned char cu_length [4];
|
||||
unsigned char cu_version [2];
|
||||
unsigned char cu_abbrev_offset [4];
|
||||
unsigned char cu_pointer_size [1];
|
||||
}
|
||||
DWARF2_External_CompUnit;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned long cu_length;
|
||||
unsigned short cu_version;
|
||||
unsigned long cu_abbrev_offset;
|
||||
unsigned char cu_pointer_size;
|
||||
}
|
||||
DWARF2_Internal_CompUnit;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned char ar_length [4];
|
||||
unsigned char ar_version [2];
|
||||
unsigned char ar_info_offset [4];
|
||||
unsigned char ar_pointer_size [1];
|
||||
unsigned char ar_segment_size [1];
|
||||
}
|
||||
DWARF2_External_ARange;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned long ar_length;
|
||||
unsigned short ar_version;
|
||||
unsigned long ar_info_offset;
|
||||
unsigned char ar_pointer_size;
|
||||
unsigned char ar_segment_size;
|
||||
}
|
||||
DWARF2_Internal_ARange;
|
||||
|
||||
|
||||
/* Tag names and codes. */
|
||||
enum dwarf_tag
|
||||
{
|
||||
|
@ -103,12 +189,21 @@ enum dwarf_tag
|
|||
DW_TAG_imported_unit = 0x3d,
|
||||
/* SGI/MIPS Extensions. */
|
||||
DW_TAG_MIPS_loop = 0x4081,
|
||||
/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
|
||||
DW_TAG_HP_array_descriptor = 0x4090,
|
||||
/* GNU extensions. */
|
||||
DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
|
||||
DW_TAG_function_template = 0x4102, /* For C++. */
|
||||
DW_TAG_class_template = 0x4103, /* For C++. */
|
||||
DW_TAG_GNU_BINCL = 0x4104,
|
||||
DW_TAG_GNU_EINCL = 0x4105
|
||||
DW_TAG_GNU_EINCL = 0x4105,
|
||||
/* Extensions for UPC. See: http://upc.gwu.edu/~upc. */
|
||||
DW_TAG_upc_shared_type = 0x8765,
|
||||
DW_TAG_upc_strict_type = 0x8766,
|
||||
DW_TAG_upc_relaxed_type = 0x8767,
|
||||
/* PGI (STMicroelectronics) extensions. No documentation available. */
|
||||
DW_TAG_PGI_kanji_type = 0xA000,
|
||||
DW_TAG_PGI_interface_block = 0xA020
|
||||
};
|
||||
|
||||
#define DW_TAG_lo_user 0x4080
|
||||
|
@ -145,7 +240,6 @@ enum dwarf_form
|
|||
};
|
||||
|
||||
/* Attribute names and codes. */
|
||||
|
||||
enum dwarf_attribute
|
||||
{
|
||||
DW_AT_sibling = 0x01,
|
||||
|
@ -223,7 +317,7 @@ enum dwarf_attribute
|
|||
DW_AT_call_column = 0x57,
|
||||
DW_AT_call_file = 0x58,
|
||||
DW_AT_call_line = 0x59,
|
||||
/* SGI/MIPS Extensions. */
|
||||
/* SGI/MIPS extensions. */
|
||||
DW_AT_MIPS_fde = 0x2001,
|
||||
DW_AT_MIPS_loop_begin = 0x2002,
|
||||
DW_AT_MIPS_tail_loop_begin = 0x2003,
|
||||
|
@ -235,6 +329,21 @@ enum dwarf_attribute
|
|||
DW_AT_MIPS_abstract_name = 0x2009,
|
||||
DW_AT_MIPS_clone_origin = 0x200a,
|
||||
DW_AT_MIPS_has_inlines = 0x200b,
|
||||
/* HP extensions. */
|
||||
DW_AT_HP_block_index = 0x2000,
|
||||
DW_AT_HP_unmodifiable = 0x2001, /* Same as DW_AT_MIPS_fde. */
|
||||
DW_AT_HP_actuals_stmt_list = 0x2010,
|
||||
DW_AT_HP_proc_per_section = 0x2011,
|
||||
DW_AT_HP_raw_data_ptr = 0x2012,
|
||||
DW_AT_HP_pass_by_reference = 0x2013,
|
||||
DW_AT_HP_opt_level = 0x2014,
|
||||
DW_AT_HP_prof_version_id = 0x2015,
|
||||
DW_AT_HP_opt_flags = 0x2016,
|
||||
DW_AT_HP_cold_region_low_pc = 0x2017,
|
||||
DW_AT_HP_cold_region_high_pc = 0x2018,
|
||||
DW_AT_HP_all_variables_modifiable = 0x2019,
|
||||
DW_AT_HP_linkage_name = 0x201a,
|
||||
DW_AT_HP_prof_flags = 0x201b, /* In comp unit of procs_info for -g. */
|
||||
/* GNU extensions. */
|
||||
DW_AT_sf_names = 0x2101,
|
||||
DW_AT_src_info = 0x2102,
|
||||
|
@ -243,8 +352,14 @@ enum dwarf_attribute
|
|||
DW_AT_body_begin = 0x2105,
|
||||
DW_AT_body_end = 0x2106,
|
||||
DW_AT_GNU_vector = 0x2107,
|
||||
/* VMS Extensions. */
|
||||
DW_AT_VMS_rtnbeg_pd_address = 0x2201
|
||||
/* VMS extensions. */
|
||||
DW_AT_VMS_rtnbeg_pd_address = 0x2201,
|
||||
/* UPC extension. */
|
||||
DW_AT_upc_threads_scaled = 0x3210,
|
||||
/* PGI (STMicroelectronics) extensions. */
|
||||
DW_AT_PGI_lbase = 0x3a00,
|
||||
DW_AT_PGI_soffset = 0x3a01,
|
||||
DW_AT_PGI_lstride = 0x3a02
|
||||
};
|
||||
|
||||
#define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */
|
||||
|
@ -404,7 +519,15 @@ enum dwarf_location_atom
|
|||
DW_OP_call4 = 0x99,
|
||||
DW_OP_call_ref = 0x9a,
|
||||
/* GNU extensions. */
|
||||
DW_OP_GNU_push_tls_address = 0xe0
|
||||
DW_OP_GNU_push_tls_address = 0xe0,
|
||||
/* HP extensions. */
|
||||
DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */
|
||||
DW_OP_HP_is_value = 0xe1,
|
||||
DW_OP_HP_fltconst4 = 0xe2,
|
||||
DW_OP_HP_fltconst8 = 0xe3,
|
||||
DW_OP_HP_mod_range = 0xe4,
|
||||
DW_OP_HP_unmod_range = 0xe5,
|
||||
DW_OP_HP_tls = 0xe6
|
||||
};
|
||||
|
||||
#define DW_OP_lo_user 0xe0 /* Implementation-defined range start. */
|
||||
|
@ -423,7 +546,15 @@ enum dwarf_type
|
|||
DW_ATE_unsigned = 0x7,
|
||||
DW_ATE_unsigned_char = 0x8,
|
||||
/* DWARF 3. */
|
||||
DW_ATE_imaginary_float = 0x9
|
||||
DW_ATE_imaginary_float = 0x9,
|
||||
/* HP extensions. */
|
||||
DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
|
||||
DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */
|
||||
DW_ATE_HP_float128 = 0x82, /* Floating-point (128 bit). */
|
||||
DW_ATE_HP_complex_float128 = 0x83, /* Complex floating-point (128 bit). */
|
||||
DW_ATE_HP_floathpintel = 0x84, /* Floating-point (82 bit IA64). */
|
||||
DW_ATE_HP_imaginary_float80 = 0x85,
|
||||
DW_ATE_HP_imaginary_float128 = 0x86
|
||||
};
|
||||
|
||||
#define DW_ATE_lo_user 0x80
|
||||
|
@ -521,7 +652,18 @@ enum dwarf_line_number_x_ops
|
|||
{
|
||||
DW_LNE_end_sequence = 1,
|
||||
DW_LNE_set_address = 2,
|
||||
DW_LNE_define_file = 3
|
||||
DW_LNE_define_file = 3,
|
||||
/* HP extensions. */
|
||||
DW_LNE_HP_negate_is_UV_update = 0x11,
|
||||
DW_LNE_HP_push_context = 0x12,
|
||||
DW_LNE_HP_pop_context = 0x13,
|
||||
DW_LNE_HP_set_file_line_column = 0x14,
|
||||
DW_LNE_HP_set_routine_name = 0x15,
|
||||
DW_LNE_HP_set_sequence = 0x16,
|
||||
DW_LNE_HP_negate_post_semantics = 0x17,
|
||||
DW_LNE_HP_negate_function_exit = 0x18,
|
||||
DW_LNE_HP_negate_front_end_logical = 0x19,
|
||||
DW_LNE_HP_define_proc = 0x20
|
||||
};
|
||||
|
||||
/* Call frame information. */
|
||||
|
@ -545,17 +687,14 @@ enum dwarf_call_frame_info
|
|||
DW_CFA_def_cfa = 0x0c,
|
||||
DW_CFA_def_cfa_register = 0x0d,
|
||||
DW_CFA_def_cfa_offset = 0x0e,
|
||||
|
||||
/* DWARF 3. */
|
||||
DW_CFA_def_cfa_expression = 0x0f,
|
||||
DW_CFA_expression = 0x10,
|
||||
DW_CFA_offset_extended_sf = 0x11,
|
||||
DW_CFA_def_cfa_sf = 0x12,
|
||||
DW_CFA_def_cfa_offset_sf = 0x13,
|
||||
|
||||
/* SGI/MIPS specific. */
|
||||
DW_CFA_MIPS_advance_loc8 = 0x1d,
|
||||
|
||||
/* GNU extensions. */
|
||||
DW_CFA_GNU_window_save = 0x2d,
|
||||
DW_CFA_GNU_args_size = 0x2e,
|
||||
|
@ -566,8 +705,8 @@ enum dwarf_call_frame_info
|
|||
#define DW_CIE_VERSION 1
|
||||
|
||||
#define DW_CFA_extended 0
|
||||
#define DW_CFA_low_user 0x1c
|
||||
#define DW_CFA_high_user 0x3f
|
||||
#define DW_CFA_lo_user 0x1c
|
||||
#define DW_CFA_hi_user 0x3f
|
||||
|
||||
#define DW_CHILDREN_no 0x00
|
||||
#define DW_CHILDREN_yes 0x01
|
||||
|
@ -593,10 +732,11 @@ enum dwarf_source_language
|
|||
DW_LANG_Ada95 = 0x000d,
|
||||
DW_LANG_Fortran95 = 0x000e,
|
||||
/* MIPS. */
|
||||
DW_LANG_Mips_Assembler = 0x8001
|
||||
DW_LANG_Mips_Assembler = 0x8001,
|
||||
/* UPC. */
|
||||
DW_LANG_Upc = 0x8765
|
||||
};
|
||||
|
||||
|
||||
#define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */
|
||||
#define DW_LANG_hi_user 0xffff /* Implementation-defined range start. */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue