+2009-03-23 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
+ * tree.h (struct tree_type): Likewise.
+ * reload.h (struct insn_chain): Likewise.
+ * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
+ * function.h (struct function): Likewise.
+ * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
+
2009-03-23 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/39516
/* Ordering of all cgraph nodes. */
int order;
+ /* unique id for profiling. pid is not suitable because of different
+ number of cfg nodes with -fprofile-generate and -fprofile-use */
+ int pid;
+
/* Set when function must be output - it is externally visible
or its address is taken. */
unsigned needed : 1;
into clone before compiling so the function in original form can be
inlined later. This pointer points to the clone. */
tree inline_decl;
-
- /* unique id for profiling. pid is not suitable because of different
- number of cfg nodes with -fprofile-generate and -fprofile-use */
- int pid;
};
struct cgraph_edge GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller")))
{
dw_loc_descr_ref dw_loc_next;
enum dwarf_location_atom dw_loc_opc;
+ int dw_loc_addr;
dw_val_node dw_loc_oprnd1;
dw_val_node dw_loc_oprnd2;
- int dw_loc_addr;
}
dw_loc_descr_node;
pointer. */
tree nonlocal_goto_save_area;
- /* Function sequence number for profiling, debugging, etc. */
- int funcdef_no;
-
/* List of function local variables, functions, types and constants. */
tree local_decls;
/* Last statement uid. */
int last_stmt_uid;
+ /* Function sequence number for profiling, debugging, etc. */
+ int funcdef_no;
+
/* Line number of the start of the function for debugging purposes. */
location_t function_start_locus;
all insns that need reloading. */
struct insn_chain *next_need_reload;
- /* The basic block this insn is in. */
- int block;
/* The rtx of the insn. */
rtx insn;
+
+ /* The basic block this insn is in. */
+ int block;
+
+ /* Nonzero if find_reloads said the insn requires reloading. */
+ unsigned int need_reload:1;
+ /* Nonzero if find_reloads needs to be run during reload_as_needed to
+ perform modifications on any operands. */
+ unsigned int need_operand_change:1;
+ /* Nonzero if eliminate_regs_in_insn said it requires eliminations. */
+ unsigned int need_elim:1;
+ /* Nonzero if this insn was inserted by perform_caller_saves. */
+ unsigned int is_caller_save_insn:1;
+
/* Register life information: record all live hard registers, and
all live pseudos that have a hard register. This set also
contains pseudos spilled by IRA. */
/* Indicates which registers have already been used for spills. */
HARD_REG_SET used_spill_regs;
-
- /* Nonzero if find_reloads said the insn requires reloading. */
- unsigned int need_reload:1;
- /* Nonzero if find_reloads needs to be run during reload_as_needed to
- perform modifications on any operands. */
- unsigned int need_operand_change:1;
- /* Nonzero if eliminate_regs_in_insn said it requires eliminations. */
- unsigned int need_elim:1;
- /* Nonzero if this insn was inserted by perform_caller_saves. */
- unsigned int is_caller_save_insn:1;
};
/* A chain of insn_chain structures to describe all non-note insns in
typedef struct equiv_class_label
{
+ hashval_t hashcode;
unsigned int equivalence_class;
bitmap labels;
- hashval_t hashcode;
} *equiv_class_label_t;
typedef const struct equiv_class_label *const_equiv_class_label_t;
unsigned user_align : 1;
unsigned int align;
+ alias_set_type alias_set;
tree pointer_to;
tree reference_to;
union tree_type_symtab {
tree binfo;
tree context;
tree canonical;
- alias_set_type alias_set;
/* Points to a structure whose details depend on the language in use. */
struct lang_type *lang_specific;
};