From 25efe0608f22e455b6da57bbdbba46b624ac8569 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Sat, 29 May 2010 14:03:31 +0000 Subject: [PATCH] basic-block.h (struct control_flow_graph): Move last_label_uid field up. * basic-block.h (struct control_flow_graph): Move last_label_uid field up. * df.h (struct df_base_ref): Move regno field up. * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down. * expr.h (struct separate_ops): Move location field up. * optabs.h (struct optab_d): Move libcall_basename field down. * config/i386/i386.c (struct ix86_frame): Move red_zone_size up. * config/i386/i386.h (struct machine_function): Convert call_abi field into a bitfield. Move cfa field to the end of the structure. From-SVN: r160025 --- gcc/ChangeLog | 11 +++++++++++ gcc/basic-block.h | 6 +++--- gcc/config/i386/i386.c | 2 +- gcc/config/i386/i386.h | 8 ++++---- gcc/df.h | 2 +- gcc/dwarf2out.c | 2 +- gcc/expr.h | 2 +- gcc/optabs.h | 2 +- 8 files changed, 23 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a84ef2d44e7..d7f87721271 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2010-05-29 Nathan Froyd + + * basic-block.h (struct control_flow_graph): Move last_label_uid field up. + * df.h (struct df_base_ref): Move regno field up. + * dwarf2out.c (struct dw_fde_struct): Move funcdef_number field down. + * expr.h (struct separate_ops): Move location field up. + * optabs.h (struct optab_d): Move libcall_basename field down. + * config/i386/i386.c (struct ix86_frame): Move red_zone_size up. + * config/i386/i386.h (struct machine_function): Convert call_abi field + into a bitfield. Move cfa field to the end of the structure. + 2010-05-29 Jan Hubicka * varpool.c (varpool_get_node): Fix lookup. diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 7992f2a162f..95ad4a90505 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -303,6 +303,9 @@ struct GTY(()) control_flow_graph { /* The first free basic block number. */ int x_last_basic_block; + /* UIDs for LABEL_DECLs. */ + int last_label_uid; + /* Mapping of labels to their associated blocks. At present only used for the gimple CFG. */ VEC(basic_block,gc) *x_label_to_block_map; @@ -318,9 +321,6 @@ struct GTY(()) control_flow_graph { /* Maximal number of entities in the single jumptable. Used to estimate final flowgraph size. */ int max_jumptable_ents; - - /* UIDs for LABEL_DECLs. */ - int last_label_uid; }; /* Defines for accessing the fields of the CFG structure for function FN. */ diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index c9ac621e32b..de291c70861 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1852,10 +1852,10 @@ struct ix86_frame int nregs; int padding1; int va_arg_size; + int red_zone_size; HOST_WIDE_INT frame; int padding2; int outgoing_arguments_size; - int red_zone_size; HOST_WIDE_INT to_allocate; /* The offsets relative to ARG_POINTER. */ diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 7e1d6cf50ae..005664c2049 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -2374,12 +2374,9 @@ struct GTY(()) machine_function { has been computed for. */ int use_fast_prologue_epilogue_nregs; - /* The CFA state at the end of the prologue. */ - struct machine_cfa_state cfa; - /* This value is used for amd64 targets and specifies the current abi to be used. MS_ABI means ms abi. Otherwise SYSV_ABI means sysv abi. */ - enum calling_abi call_abi; + ENUM_BITFIELD(calling_abi) call_abi : 8; /* Nonzero if the function accesses a previous frame. */ BOOL_BITFIELD accesses_prev_frame : 1; @@ -2405,6 +2402,9 @@ struct GTY(()) machine_function { /* If true, the current function has a STATIC_CHAIN is placed on the stack below the return address. */ BOOL_BITFIELD static_chain_on_stack : 1; + + /* The CFA state at the end of the prologue. */ + struct machine_cfa_state cfa; }; #endif diff --git a/gcc/df.h b/gcc/df.h index 0632b1dbaaf..afbe88a4225 100644 --- a/gcc/df.h +++ b/gcc/df.h @@ -364,6 +364,7 @@ struct df_base_ref ENUM_BITFIELD(df_ref_type) type : 8; /* Type of ref. */ int flags : 16; /* Various df_ref_flags. */ + unsigned int regno; /* The register number referenced. */ rtx reg; /* The register referenced. */ struct df_link *chain; /* Head of def-use, use-def. */ /* Pointer to the insn info of the containing instruction. FIXME! @@ -375,7 +376,6 @@ struct df_base_ref themselves rather than using an external structure. */ union df_ref_d *next_reg; /* Next ref with same regno and type. */ union df_ref_d *prev_reg; /* Prev ref with same regno and type. */ - unsigned int regno; /* The register number referenced. */ /* Location in the ref table. This is only valid after a call to df_maybe_reorganize_[use,def]_refs which is an expensive operation. */ int id; diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index e9f11e8ce15..b4c626ba0c0 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -305,8 +305,8 @@ typedef struct GTY(()) dw_fde_struct { const char *dw_fde_unlikely_section_end_label; dw_cfi_ref dw_fde_cfi; dw_cfi_ref dw_fde_switch_cfi; /* Last CFI before switching sections. */ - unsigned funcdef_number; HOST_WIDE_INT stack_realignment; + unsigned funcdef_number; /* Dynamic realign argument pointer register. */ unsigned int drap_reg; /* Virtual dynamic realign argument pointer register. */ diff --git a/gcc/expr.h b/gcc/expr.h index 4fddde6006e..af230a617da 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -273,9 +273,9 @@ do { \ typedef struct separate_ops { enum tree_code code; + location_t location; tree type; tree op0, op1, op2; - location_t location; } *sepops; /* Functions from optabs.c, commonly used, and without need for the optabs diff --git a/gcc/optabs.h b/gcc/optabs.h index 0b72a516274..faa4330e5dd 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -46,8 +46,8 @@ struct optab_handlers struct optab_d { enum rtx_code code; - const char *libcall_basename; char libcall_suffix; + const char *libcall_basename; void (*libcall_gen)(struct optab_d *, const char *name, char suffix, enum machine_mode); struct optab_handlers handlers[NUM_MACHINE_MODES];