diff options
author | Richard Guenther <rguenther@suse.de> | 2012-09-28 09:03:00 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-09-28 09:03:00 +0000 |
commit | b8dbdb1275f24e94c8f9f80154676967116fff5a (patch) | |
tree | 80e454fdf609869eb442834bbbc234321d8620fa /gcc | |
parent | 9ee9ccb9d9bea7b855f63571271613406baba66a (diff) | |
download | gcc-b8dbdb1275f24e94c8f9f80154676967116fff5a.zip gcc-b8dbdb1275f24e94c8f9f80154676967116fff5a.tar.gz gcc-b8dbdb1275f24e94c8f9f80154676967116fff5a.tar.bz2 |
cgraph.h (symtab_node_base): Re-order and pack fields.
2012-09-28 Richard Guenther <rguenther@suse.de>
* cgraph.h (symtab_node_base): Re-order and pack fields.
From-SVN: r191823
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cgraph.h | 46 |
2 files changed, 31 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50675ea..3f6ced6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-09-28 Richard Guenther <rguenther@suse.de> + + * cgraph.h (symtab_node_base): Re-order and pack fields. + 2012-09-28 Georg-Johann Lay <avr@gjlay.de> * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic. diff --git a/gcc/cgraph.h b/gcc/cgraph.h index b8001a6..6291f33 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 |