diff options
author | Richard Henderson <rth@redhat.com> | 2011-07-07 16:57:26 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-07-07 16:57:26 -0700 |
commit | a518b99616d4d007e289654332c934e7c3ec8d52 (patch) | |
tree | ee3ca739383122468e3b5200d2fd5d7d6e90662c /gcc/function.h | |
parent | 89e25f958415ae1ae019e8f35398624b95c44f61 (diff) | |
download | gcc-a518b99616d4d007e289654332c934e7c3ec8d52.zip gcc-a518b99616d4d007e289654332c934e7c3ec8d52.tar.gz gcc-a518b99616d4d007e289654332c934e7c3ec8d52.tar.bz2 |
dwarf2out: Convert fde_table to a VEC.
Prepare for allocating the FDE for the current function earlier
than dwarf2out_begin_prologue.
* dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use,
FDE_TABLE_INCREMENT): Replace with...
(fde_vec): ... this, a new vector.
(current_fde): Remove. Replace all users with cfun->fde.
(output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec.
(size_of_aranges, dwarf2out_finish): Likewise.
(dwarf2out_alloc_current_fde): Break out from ...
(dwarf2out_begin_prologue): ... here.
(dwarf2out_frame_init): Remove.
* dwarf2cfi.c: Update all users of current_fde.
(dwarf2out_frame_init): Rename from dwarf2cfi_frame_init.
* dwarf2out.h: Update decls.
(dw_fde_node): Add fde_index member.
* function.h (struct function): Add fde member.
From-SVN: r176018
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h index 3b572cc..ff193bc 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -169,6 +169,7 @@ struct gimple_df; struct temp_slot; typedef struct temp_slot *temp_slot_p; struct call_site_record_d; +struct dw_fde_struct; DEF_VEC_P(temp_slot_p); DEF_VEC_ALLOC_P(temp_slot_p,gc); @@ -542,6 +543,11 @@ struct GTY(()) function { /* Used types hash table. */ htab_t GTY ((param_is (union tree_node))) used_types_hash; + /* Dwarf2 Frame Description Entry, containing the Call Frame Instructions + used for unwinding. Only set when either dwarf2 unwinding or dwarf2 + debugging is enabled. */ + struct dw_fde_struct *fde; + /* Last statement uid. */ int last_stmt_uid; |