summaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-07 23:57:26 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-07-07 23:57:26 +0000
commit6033bf1158967debce9f2f2571d42586b4c97a67 (patch)
treeee3ca739383122468e3b5200d2fd5d7d6e90662c /gcc/dwarf2out.h
parentc746c5c3e1d3ec6502d11fd9b82ac12ab62d2e4c (diff)
downloadgcc-6033bf1158967debce9f2f2571d42586b4c97a67.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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176018 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2out.h')
-rw-r--r--gcc/dwarf2out.h6
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);