aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-09-28 09:03:00 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-09-28 09:03:00 +0000
commitb8dbdb1275f24e94c8f9f80154676967116fff5a (patch)
tree80e454fdf609869eb442834bbbc234321d8620fa /gcc
parent9ee9ccb9d9bea7b855f63571271613406baba66a (diff)
downloadgcc-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/ChangeLog4
-rw-r--r--gcc/cgraph.h46
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