diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-28 09:03:00 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-28 09:03:00 +0000 |
commit | a83af0c5566838f454e24f69a617817c640057c4 (patch) | |
tree | 80e454fdf609869eb442834bbbc234321d8620fa /gcc/cgraph.h | |
parent | a9de6955786b1c8e881c484770f1d2dd6aedaadd (diff) | |
download | gcc-a83af0c5566838f454e24f69a617817c640057c4.tar.gz |
2012-09-28 Richard Guenther <rguenther@suse.de>
* 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
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 46 |
1 files changed, 27 insertions, 19 deletions
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 |