aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-09-28 09:03:00 +0000
committerRichard Guenther <rguenther@suse.de>2012-09-28 09:03:00 +0000
commit7b9e043d22b1f4cdd9c02aa8fb29ff2b98d0c9ac (patch)
tree80e454fdf609869eb442834bbbc234321d8620fa /gcc/cgraph.h
parent4f23e5d071088a98be047db6f54e5a7eff335d06 (diff)
2012-09-28 Richard Guenther <rguenther@suse.de>
* cgraph.h (symtab_node_base): Re-order and pack fields. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@191823 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r--gcc/cgraph.h46
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