From a83af0c5566838f454e24f69a617817c640057c4 Mon Sep 17 00:00:00 2001 From: rguenth Date: Fri, 28 Sep 2012 09:03:00 +0000 Subject: 2012-09-28 Richard Guenther * cgraph.h (symtab_node_base): Re-order and pack fields. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191823 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cgraph.h | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) (limited to 'gcc/cgraph.h') diff --git a/gcc/cgraph.h b/gcc/cgraph.h index b8001a62bc7..6291f337aae 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -43,14 +43,37 @@ enum symtab_type struct GTY(()) symtab_node_base { /* Type of the symbol. */ - enum symtab_type type; + ENUM_BITFIELD (symtab_type) type : 8; + + /* The symbols resolution. */ + ENUM_BITFIELD (ld_plugin_symbol_resolution) resolution : 8; + + /* Set when function has address taken. + In current implementation it imply needed flag. */ + unsigned address_taken : 1; + /* Set when variable is used from other LTRANS partition. */ + unsigned used_from_other_partition : 1; + /* Set when function is available in the other LTRANS partition. + During WPA output it is used to mark nodes that are present in + multiple partitions. */ + unsigned in_other_partition : 1; + /* Set when function is visible by other units. */ + unsigned externally_visible : 1; + /* Needed variables might become dead by optimization. This flag + forces the variable to be output even if it appears dead otherwise. */ + unsigned force_output : 1; + + /* Ordering of all symtab entries. */ + int order; + tree decl; + + /* Vectors of referring and referenced entities. */ struct ipa_ref_list ref_list; + /* Circular list of nodes in the same comdat group if non-NULL. */ symtab_node same_comdat_group; - /* Ordering of all symtab entries. */ - int order; - enum ld_plugin_symbol_resolution resolution; + /* File stream where this node is being written to. */ struct lto_file_decl_data * lto_file_data; @@ -65,21 +88,6 @@ struct GTY(()) symtab_node_base symtab_node previous_sharing_asm_name; PTR GTY ((skip)) aux; - - /* Set when function has address taken. - In current implementation it imply needed flag. */ - unsigned address_taken : 1; - /* Set when variable is used from other LTRANS partition. */ - unsigned used_from_other_partition : 1; - /* Set when function is available in the other LTRANS partition. - During WPA output it is used to mark nodes that are present in - multiple partitions. */ - unsigned in_other_partition : 1; - /* Set when function is visible by other units. */ - unsigned externally_visible : 1; - /* Needed variables might become dead by optimization. This flag - forces the variable to be output even if it appears dead otherwise. */ - unsigned force_output : 1; }; enum availability -- cgit v1.2.1