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/dwarf2out.h | |
parent | 89e25f958415ae1ae019e8f35398624b95c44f61 (diff) | |
download | gcc-a518b99616d4d007e289654332c934e7c3ec8d52.tar.gz |
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/dwarf2out.h')
-rw-r--r-- | gcc/dwarf2out.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h index 2c02b948d26..abc220868e0 100644 --- a/gcc/dwarf2out.h +++ b/gcc/dwarf2out.h @@ -88,7 +88,10 @@ typedef struct GTY(()) dw_fde_struct { cfi_vec dw_fde_cfi; int dw_fde_switch_cfi_index; /* Last CFI before switching sections. */ HOST_WIDE_INT stack_realignment; + unsigned funcdef_number; + unsigned fde_index; + /* Dynamic realign argument pointer register. */ unsigned int drap_reg; /* Virtual dynamic realign argument pointer register. */ @@ -215,7 +218,6 @@ dw_loc_descr_node; /* Interface from dwarf2out.c to dwarf2cfi.c. */ -extern dw_fde_ref current_fde (void); extern struct dw_loc_descr_struct *build_cfa_loc (dw_cfa_location *, HOST_WIDE_INT); extern struct dw_loc_descr_struct *build_cfa_aligned_loc @@ -224,9 +226,9 @@ extern struct dw_loc_descr_struct *mem_loc_descriptor (rtx, enum machine_mode mode, enum machine_mode mem_mode, enum var_init_status); extern enum machine_mode get_address_mode (rtx mem); +extern dw_fde_ref dwarf2out_alloc_current_fde (void); /* Interface from dwarf2cfi.c to dwarf2out.c. */ -extern void dwarf2cfi_frame_init (void); extern void dwarf2cfi_function_init (void); extern void lookup_cfa_1 (dw_cfi_ref cfi, dw_cfa_location *loc, dw_cfa_location *remember); |