summaryrefslogtreecommitdiff
path: root/gcc/lto-cgraph.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/lto-cgraph.c')
-rw-r--r--gcc/lto-cgraph.c278
1 files changed, 139 insertions, 139 deletions
diff --git a/gcc/lto-cgraph.c b/gcc/lto-cgraph.c
index e02fa9ed301..46797fd4ed9 100644
--- a/gcc/lto-cgraph.c
+++ b/gcc/lto-cgraph.c
@@ -183,7 +183,7 @@ bool
lto_symtab_encoder_encode_body_p (lto_symtab_encoder_t encoder,
struct cgraph_node *node)
{
- int index = lto_symtab_encoder_lookup (encoder, (symtab_node)node);
+ int index = lto_symtab_encoder_lookup (encoder, node);
return encoder->nodes[index].body;
}
@@ -193,8 +193,8 @@ static void
lto_set_symtab_encoder_encode_body (lto_symtab_encoder_t encoder,
struct cgraph_node *node)
{
- int index = lto_symtab_encoder_encode (encoder, (symtab_node)node);
- gcc_checking_assert (encoder->nodes[index].node == (symtab_node)node);
+ int index = lto_symtab_encoder_encode (encoder, node);
+ gcc_checking_assert (encoder->nodes[index].node == node);
encoder->nodes[index].body = true;
}
@@ -204,7 +204,7 @@ bool
lto_symtab_encoder_encode_initializer_p (lto_symtab_encoder_t encoder,
struct varpool_node *node)
{
- int index = lto_symtab_encoder_lookup (encoder, (symtab_node)node);
+ int index = lto_symtab_encoder_lookup (encoder, node);
if (index == LCC_NOT_FOUND)
return false;
return encoder->nodes[index].initializer;
@@ -216,7 +216,7 @@ static void
lto_set_symtab_encoder_encode_initializer (lto_symtab_encoder_t encoder,
struct varpool_node *node)
{
- int index = lto_symtab_encoder_lookup (encoder, (symtab_node)node);
+ int index = lto_symtab_encoder_lookup (encoder, node);
encoder->nodes[index].initializer = true;
}
@@ -226,7 +226,7 @@ bool
lto_symtab_encoder_in_partition_p (lto_symtab_encoder_t encoder,
symtab_node node)
{
- int index = lto_symtab_encoder_lookup (encoder, (symtab_node)node);
+ int index = lto_symtab_encoder_lookup (encoder, node);
if (index == LCC_NOT_FOUND)
return false;
return encoder->nodes[index].in_partition;
@@ -238,7 +238,7 @@ void
lto_set_symtab_encoder_in_partition (lto_symtab_encoder_t encoder,
symtab_node node)
{
- int index = lto_symtab_encoder_encode (encoder, (symtab_node)node);
+ int index = lto_symtab_encoder_encode (encoder, node);
encoder->nodes[index].in_partition = true;
}
@@ -259,13 +259,13 @@ lto_output_edge (struct lto_simple_output_block *ob, struct cgraph_edge *edge,
streamer_write_enum (ob->main_stream, LTO_symtab_tags, LTO_symtab_last_tag,
LTO_symtab_edge);
- ref = lto_symtab_encoder_lookup (encoder, (symtab_node)edge->caller);
+ ref = lto_symtab_encoder_lookup (encoder, edge->caller);
gcc_assert (ref != LCC_NOT_FOUND);
streamer_write_hwi_stream (ob->main_stream, ref);
if (!edge->indirect_unknown_callee)
{
- ref = lto_symtab_encoder_lookup (encoder, (symtab_node)edge->callee);
+ ref = lto_symtab_encoder_lookup (encoder, edge->callee);
gcc_assert (ref != LCC_NOT_FOUND);
streamer_write_hwi_stream (ob->main_stream, ref);
}
@@ -273,7 +273,7 @@ lto_output_edge (struct lto_simple_output_block *ob, struct cgraph_edge *edge,
streamer_write_gcov_count_stream (ob->main_stream, edge->count);
bp = bitpack_create (ob->main_stream);
- uid = (!gimple_has_body_p (edge->caller->symbol.decl)
+ uid = (!gimple_has_body_p (edge->caller->decl)
? edge->lto_stmt_uid : gimple_uid (edge->call_stmt) + 1);
bp_pack_enum (&bp, cgraph_inline_failed_enum,
CIF_N_REASONS, edge->inline_failed);
@@ -319,7 +319,7 @@ referenced_from_other_partition_p (struct ipa_ref_list *list, lto_symtab_encoder
struct ipa_ref *ref;
for (i = 0; ipa_ref_list_referring_iterate (list, i, ref); i++)
{
- if (ref->referring->symbol.in_other_partition
+ if (ref->referring->in_other_partition
|| !lto_symtab_encoder_in_partition_p (encoder, ref->referring))
return true;
}
@@ -332,13 +332,13 @@ bool
reachable_from_other_partition_p (struct cgraph_node *node, lto_symtab_encoder_t encoder)
{
struct cgraph_edge *e;
- if (!node->symbol.definition)
+ if (!node->definition)
return false;
if (node->global.inlined_to)
return false;
for (e = node->callers; e; e = e->next_caller)
- if (e->caller->symbol.in_other_partition
- || !lto_symtab_encoder_in_partition_p (encoder, (symtab_node)e->caller))
+ if (e->caller->in_other_partition
+ || !lto_symtab_encoder_in_partition_p (encoder, e->caller))
return true;
return false;
}
@@ -364,7 +364,7 @@ reachable_from_this_partition_p (struct cgraph_node *node, lto_symtab_encoder_t
{
struct cgraph_edge *e;
for (e = node->callers; e; e = e->next_caller)
- if (lto_symtab_encoder_in_partition_p (encoder, (symtab_node)e->caller))
+ if (lto_symtab_encoder_in_partition_p (encoder, e->caller))
return true;
return false;
}
@@ -391,16 +391,16 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
int i;
bool alias_p;
- boundary_p = !lto_symtab_encoder_in_partition_p (encoder, (symtab_node)node);
+ boundary_p = !lto_symtab_encoder_in_partition_p (encoder, node);
- if (node->symbol.analyzed && !boundary_p)
+ if (node->analyzed && !boundary_p)
tag = LTO_symtab_analyzed_node;
else
tag = LTO_symtab_unavail_node;
streamer_write_enum (ob->main_stream, LTO_symtab_tags, LTO_symtab_last_tag,
tag);
- streamer_write_hwi_stream (ob->main_stream, node->symbol.order);
+ streamer_write_hwi_stream (ob->main_stream, node->order);
/* In WPA mode, we only output part of the call-graph. Also, we
fake cgraph node attributes. There are two cases that we care.
@@ -412,7 +412,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
Cherry-picked nodes: These are nodes we pulled from other
translation units into SET during IPA-inlining. We make them as
local static nodes to prevent clashes with other local statics. */
- if (boundary_p && node->symbol.analyzed && !DECL_EXTERNAL (node->symbol.decl))
+ if (boundary_p && node->analyzed && !DECL_EXTERNAL (node->decl))
{
/* Inline clones can not be part of boundary.
gcc_assert (!node->global.inlined_to);
@@ -427,7 +427,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
clone_of = node->clone_of;
while (clone_of
- && (ref = lto_symtab_encoder_lookup (encoder, (symtab_node)clone_of)) == LCC_NOT_FOUND)
+ && (ref = lto_symtab_encoder_lookup (encoder, clone_of)) == LCC_NOT_FOUND)
if (clone_of->prev_sibling_clone)
clone_of = clone_of->prev_sibling_clone;
else
@@ -450,7 +450,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
streamer_write_hwi_stream (ob->main_stream, ref);
- lto_output_fn_decl_index (ob->decl_state, ob->main_stream, node->symbol.decl);
+ lto_output_fn_decl_index (ob->decl_state, ob->main_stream, node->decl);
streamer_write_gcov_count_stream (ob->main_stream, node->count);
streamer_write_hwi_stream (ob->main_stream, node->count_materialization_scale);
@@ -463,7 +463,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
{
if (node->global.inlined_to)
{
- ref = lto_symtab_encoder_lookup (encoder, (symtab_node)node->global.inlined_to);
+ ref = lto_symtab_encoder_lookup (encoder, node->global.inlined_to);
gcc_assert (ref != LCC_NOT_FOUND);
}
else
@@ -472,10 +472,10 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
streamer_write_hwi_stream (ob->main_stream, ref);
}
- if (node->symbol.same_comdat_group && !boundary_p)
+ if (node->same_comdat_group && !boundary_p)
{
ref = lto_symtab_encoder_lookup (encoder,
- node->symbol.same_comdat_group);
+ node->same_comdat_group);
gcc_assert (ref != LCC_NOT_FOUND);
}
else
@@ -484,20 +484,20 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
bp = bitpack_create (ob->main_stream);
bp_pack_value (&bp, node->local.local, 1);
- bp_pack_value (&bp, node->symbol.externally_visible, 1);
- bp_pack_value (&bp, node->symbol.definition, 1);
+ bp_pack_value (&bp, node->externally_visible, 1);
+ bp_pack_value (&bp, node->definition, 1);
bp_pack_value (&bp, node->local.versionable, 1);
bp_pack_value (&bp, node->local.can_change_signature, 1);
bp_pack_value (&bp, node->local.redefined_extern_inline, 1);
- bp_pack_value (&bp, node->symbol.force_output, 1);
- bp_pack_value (&bp, node->symbol.forced_by_abi, 1);
- bp_pack_value (&bp, node->symbol.unique_name, 1);
- bp_pack_value (&bp, node->symbol.address_taken, 1);
+ bp_pack_value (&bp, node->force_output, 1);
+ bp_pack_value (&bp, node->forced_by_abi, 1);
+ bp_pack_value (&bp, node->unique_name, 1);
+ bp_pack_value (&bp, node->address_taken, 1);
bp_pack_value (&bp, tag == LTO_symtab_analyzed_node
- && !DECL_EXTERNAL (node->symbol.decl)
- && !DECL_COMDAT (node->symbol.decl)
+ && !DECL_EXTERNAL (node->decl)
+ && !DECL_COMDAT (node->decl)
&& (reachable_from_other_partition_p (node, encoder)
- || referenced_from_other_partition_p (&node->symbol.ref_list,
+ || referenced_from_other_partition_p (&node->ref_list,
encoder)), 1);
bp_pack_value (&bp, node->lowered, 1);
bp_pack_value (&bp, in_other_partition, 1);
@@ -507,16 +507,16 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
defined in other unit, we may use the info on aliases to resolve
symbol1 != symbol2 type tests that we can do only for locally defined objects
otherwise. */
- alias_p = node->symbol.alias && (!boundary_p || node->symbol.weakref);
+ alias_p = node->alias && (!boundary_p || node->weakref);
bp_pack_value (&bp, alias_p, 1);
- bp_pack_value (&bp, node->symbol.weakref, 1);
+ bp_pack_value (&bp, node->weakref, 1);
bp_pack_value (&bp, node->frequency, 2);
bp_pack_value (&bp, node->only_called_at_startup, 1);
bp_pack_value (&bp, node->only_called_at_exit, 1);
bp_pack_value (&bp, node->tm_clone, 1);
bp_pack_value (&bp, node->thunk.thunk_p && !boundary_p, 1);
bp_pack_enum (&bp, ld_plugin_symbol_resolution,
- LDPR_NUM_KNOWN, node->symbol.resolution);
+ LDPR_NUM_KNOWN, node->resolution);
streamer_write_bitpack (&bp);
if (node->thunk.thunk_p && !boundary_p)
@@ -538,57 +538,57 @@ static void
lto_output_varpool_node (struct lto_simple_output_block *ob, struct varpool_node *node,
lto_symtab_encoder_t encoder)
{
- bool boundary_p = !lto_symtab_encoder_in_partition_p (encoder, (symtab_node)node);
+ bool boundary_p = !lto_symtab_encoder_in_partition_p (encoder, node);
struct bitpack_d bp;
int ref;
bool alias_p;
streamer_write_enum (ob->main_stream, LTO_symtab_tags, LTO_symtab_last_tag,
LTO_symtab_variable);
- streamer_write_hwi_stream (ob->main_stream, node->symbol.order);
- lto_output_var_decl_index (ob->decl_state, ob->main_stream, node->symbol.decl);
+ streamer_write_hwi_stream (ob->main_stream, node->order);
+ lto_output_var_decl_index (ob->decl_state, ob->main_stream, node->decl);
bp = bitpack_create (ob->main_stream);
- bp_pack_value (&bp, node->symbol.externally_visible, 1);
- bp_pack_value (&bp, node->symbol.force_output, 1);
- bp_pack_value (&bp, node->symbol.forced_by_abi, 1);
- bp_pack_value (&bp, node->symbol.unique_name, 1);
- bp_pack_value (&bp, node->symbol.definition, 1);
- alias_p = node->symbol.alias && (!boundary_p || node->symbol.weakref);
+ bp_pack_value (&bp, node->externally_visible, 1);
+ bp_pack_value (&bp, node->force_output, 1);
+ bp_pack_value (&bp, node->forced_by_abi, 1);
+ bp_pack_value (&bp, node->unique_name, 1);
+ bp_pack_value (&bp, node->definition, 1);
+ alias_p = node->alias && (!boundary_p || node->weakref);
bp_pack_value (&bp, alias_p, 1);
- bp_pack_value (&bp, node->symbol.weakref, 1);
- bp_pack_value (&bp, node->symbol.analyzed && !boundary_p, 1);
- gcc_assert (node->symbol.definition || !node->symbol.analyzed);
+ bp_pack_value (&bp, node->weakref, 1);
+ bp_pack_value (&bp, node->analyzed && !boundary_p, 1);
+ gcc_assert (node->definition || !node->analyzed);
/* Constant pool initializers can be de-unified into individual ltrans units.
FIXME: Alternatively at -Os we may want to avoid generating for them the local
labels and share them across LTRANS partitions. */
- if (DECL_IN_CONSTANT_POOL (node->symbol.decl)
- && !DECL_EXTERNAL (node->symbol.decl)
- && !DECL_COMDAT (node->symbol.decl))
+ if (DECL_IN_CONSTANT_POOL (node->decl)
+ && !DECL_EXTERNAL (node->decl)
+ && !DECL_COMDAT (node->decl))
{
bp_pack_value (&bp, 0, 1); /* used_from_other_parition. */
bp_pack_value (&bp, 0, 1); /* in_other_partition. */
}
else
{
- bp_pack_value (&bp, node->symbol.definition
- && referenced_from_other_partition_p (&node->symbol.ref_list,
+ bp_pack_value (&bp, node->definition
+ && referenced_from_other_partition_p (&node->ref_list,
encoder), 1);
- bp_pack_value (&bp, node->symbol.analyzed
- && boundary_p && !DECL_EXTERNAL (node->symbol.decl), 1);
+ bp_pack_value (&bp, node->analyzed
+ && boundary_p && !DECL_EXTERNAL (node->decl), 1);
/* in_other_partition. */
}
streamer_write_bitpack (&bp);
- if (node->symbol.same_comdat_group && !boundary_p)
+ if (node->same_comdat_group && !boundary_p)
{
ref = lto_symtab_encoder_lookup (encoder,
- node->symbol.same_comdat_group);
+ node->same_comdat_group);
gcc_assert (ref != LCC_NOT_FOUND);
}
else
ref = LCC_NOT_FOUND;
streamer_write_hwi_stream (ob->main_stream, ref);
streamer_write_enum (ob->main_stream, ld_plugin_symbol_resolution,
- LDPR_NUM_KNOWN, node->symbol.resolution);
+ LDPR_NUM_KNOWN, node->resolution);
}
/* Output the varpool NODE to OB.
@@ -705,13 +705,13 @@ output_refs (lto_symtab_encoder_t encoder)
{
symtab_node node = lsei_node (lsei);
- count = ipa_ref_list_nreferences (&node->symbol.ref_list);
+ count = ipa_ref_list_nreferences (&node->ref_list);
if (count)
{
streamer_write_gcov_count_stream (ob->main_stream, count);
streamer_write_uhwi_stream (ob->main_stream,
lto_symtab_encoder_lookup (encoder, node));
- for (i = 0; ipa_ref_list_reference_iterate (&node->symbol.ref_list,
+ for (i = 0; ipa_ref_list_reference_iterate (&node->ref_list,
i, ref); i++)
lto_output_ref (ob, ref, encoder);
}
@@ -733,7 +733,7 @@ add_node_to (lto_symtab_encoder_t encoder, struct cgraph_node *node,
add_node_to (encoder, node->clone_of, include_body);
else if (include_body)
lto_set_symtab_encoder_encode_body (encoder, node);
- lto_symtab_encoder_encode (encoder, (symtab_node)node);
+ lto_symtab_encoder_encode (encoder, node);
}
/* Add all references in LIST to encoders. */
@@ -779,13 +779,13 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder)
{
node = lsei_cgraph_node (lsei);
add_node_to (encoder, node, true);
- lto_set_symtab_encoder_in_partition (encoder, (symtab_node)node);
- add_references (encoder, &node->symbol.ref_list);
+ lto_set_symtab_encoder_in_partition (encoder, node);
+ add_references (encoder, &node->ref_list);
/* For proper debug info, we need to ship the origins, too. */
- if (DECL_ABSTRACT_ORIGIN (node->symbol.decl))
+ if (DECL_ABSTRACT_ORIGIN (node->decl))
{
struct cgraph_node *origin_node
- = cgraph_get_node (DECL_ABSTRACT_ORIGIN (node->symbol.decl));
+ = cgraph_get_node (DECL_ABSTRACT_ORIGIN (node->decl));
add_node_to (encoder, origin_node, true);
}
}
@@ -794,15 +794,15 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder)
{
struct varpool_node *vnode = lsei_varpool_node (lsei);
- lto_set_symtab_encoder_in_partition (encoder, (symtab_node)vnode);
+ lto_set_symtab_encoder_in_partition (encoder, vnode);
lto_set_symtab_encoder_encode_initializer (encoder, vnode);
- add_references (encoder, &vnode->symbol.ref_list);
+ add_references (encoder, &vnode->ref_list);
/* For proper debug info, we need to ship the origins, too. */
- if (DECL_ABSTRACT_ORIGIN (vnode->symbol.decl))
+ if (DECL_ABSTRACT_ORIGIN (vnode->decl))
{
struct varpool_node *origin_node
- = varpool_get_node (DECL_ABSTRACT_ORIGIN (node->symbol.decl));
- lto_set_symtab_encoder_in_partition (encoder, (symtab_node)origin_node);
+ = varpool_get_node (DECL_ABSTRACT_ORIGIN (node->decl));
+ lto_set_symtab_encoder_in_partition (encoder, origin_node);
}
}
/* Pickle in also the initializer of all referenced readonly variables
@@ -815,10 +815,10 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder)
{
if (!lto_symtab_encoder_encode_initializer_p (encoder,
vnode)
- && ctor_for_folding (vnode->symbol.decl) != error_mark_node)
+ && ctor_for_folding (vnode->decl) != error_mark_node)
{
lto_set_symtab_encoder_encode_initializer (encoder, vnode);
- add_references (encoder, &vnode->symbol.ref_list);
+ add_references (encoder, &vnode->ref_list);
}
}
}
@@ -832,7 +832,7 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder)
for (edge = node->callees; edge; edge = edge->next_callee)
{
struct cgraph_node *callee = edge->callee;
- if (!lto_symtab_encoder_in_partition_p (encoder, (symtab_node)callee))
+ if (!lto_symtab_encoder_in_partition_p (encoder, callee))
{
/* We should have moved all the inlines. */
gcc_assert (!callee->global.inlined_to);
@@ -859,9 +859,9 @@ compute_ltrans_boundary (lto_symtab_encoder_t in_encoder)
/* Adding an external declarations into the unit serves
no purpose and just increases its boundary. */
- if (callee->symbol.definition
+ if (callee->definition
&& !lto_symtab_encoder_in_partition_p
- (encoder, (symtab_node)callee))
+ (encoder, callee))
{
gcc_assert (!callee->global.inlined_to);
add_node_to (encoder, callee, false);
@@ -952,24 +952,24 @@ input_overwrite_node (struct lto_file_decl_data *file_data,
enum LTO_symtab_tags tag,
struct bitpack_d *bp)
{
- node->symbol.aux = (void *) tag;
- node->symbol.lto_file_data = file_data;
+ node->aux = (void *) tag;
+ node->lto_file_data = file_data;
node->local.local = bp_unpack_value (bp, 1);
- node->symbol.externally_visible = bp_unpack_value (bp, 1);
- node->symbol.definition = bp_unpack_value (bp, 1);
+ node->externally_visible = bp_unpack_value (bp, 1);
+ node->definition = bp_unpack_value (bp, 1);
node->local.versionable = bp_unpack_value (bp, 1);
node->local.can_change_signature = bp_unpack_value (bp, 1);
node->local.redefined_extern_inline = bp_unpack_value (bp, 1);
- node->symbol.force_output = bp_unpack_value (bp, 1);
- node->symbol.forced_by_abi = bp_unpack_value (bp, 1);
- node->symbol.unique_name = bp_unpack_value (bp, 1);
- node->symbol.address_taken = bp_unpack_value (bp, 1);
- node->symbol.used_from_other_partition = bp_unpack_value (bp, 1);
+ node->force_output = bp_unpack_value (bp, 1);
+ node->forced_by_abi = bp_unpack_value (bp, 1);
+ node->unique_name = bp_unpack_value (bp, 1);
+ node->address_taken = bp_unpack_value (bp, 1);
+ node->used_from_other_partition = bp_unpack_value (bp, 1);
node->lowered = bp_unpack_value (bp, 1);
- node->symbol.analyzed = tag == LTO_symtab_analyzed_node;
- node->symbol.in_other_partition = bp_unpack_value (bp, 1);
- if (node->symbol.in_other_partition
+ node->analyzed = tag == LTO_symtab_analyzed_node;
+ node->in_other_partition = bp_unpack_value (bp, 1);
+ if (node->in_other_partition
/* Avoid updating decl when we are seeing just inline clone.
When inlining function that has functions already inlined into it,
we produce clones of inline clones.
@@ -978,19 +978,19 @@ input_overwrite_node (struct lto_file_decl_data *file_data,
we might end up streaming inline clone from other partition
to support clone we are interested in. */
&& (!node->clone_of
- || node->clone_of->symbol.decl != node->symbol.decl))
+ || node->clone_of->decl != node->decl))
{
- DECL_EXTERNAL (node->symbol.decl) = 1;
- TREE_STATIC (node->symbol.decl) = 0;
+ DECL_EXTERNAL (node->decl) = 1;
+ TREE_STATIC (node->decl) = 0;
}
- node->symbol.alias = bp_unpack_value (bp, 1);
- node->symbol.weakref = bp_unpack_value (bp, 1);
+ node->alias = bp_unpack_value (bp, 1);
+ node->weakref = bp_unpack_value (bp, 1);
node->frequency = (enum node_frequency)bp_unpack_value (bp, 2);
node->only_called_at_startup = bp_unpack_value (bp, 1);
node->only_called_at_exit = bp_unpack_value (bp, 1);
node->tm_clone = bp_unpack_value (bp, 1);
node->thunk.thunk_p = bp_unpack_value (bp, 1);
- node->symbol.resolution = bp_unpack_enum (bp, ld_plugin_symbol_resolution,
+ node->resolution = bp_unpack_enum (bp, ld_plugin_symbol_resolution,
LDPR_NUM_KNOWN);
}
@@ -1041,11 +1041,11 @@ input_node (struct lto_file_decl_data *file_data,
from other input file. We keep cgraph unmerged until after streaming
of ipa passes is done. Alays forcingly create a fresh node. */
node = cgraph_create_empty_node ();
- node->symbol.decl = fn_decl;
- symtab_register_node ((symtab_node)node);
+ node->decl = fn_decl;
+ symtab_register_node (node);
}
- node->symbol.order = order;
+ node->order = order;
if (order >= symtab_order)
symtab_order = order + 1;
@@ -1073,7 +1073,7 @@ input_node (struct lto_file_decl_data *file_data,
have already been read will have their tag stored in the 'aux'
field. Since built-in functions can be referenced in multiple
functions, they are expected to be read more than once. */
- if (node->symbol.aux && !DECL_BUILT_IN (node->symbol.decl))
+ if (node->aux && !DECL_BUILT_IN (node->decl))
internal_error ("bytecode stream: found multiple instances of cgraph "
"node with uid %d", node->uid);
@@ -1084,7 +1084,7 @@ input_node (struct lto_file_decl_data *file_data,
node->global.inlined_to = (cgraph_node_ptr) (intptr_t) ref;
/* Store a reference for now, and fix up later to be a pointer. */
- node->symbol.same_comdat_group = (symtab_node) (intptr_t) ref2;
+ node->same_comdat_group = (symtab_node) (intptr_t) ref2;
if (node->thunk.thunk_p)
{
@@ -1097,8 +1097,8 @@ input_node (struct lto_file_decl_data *file_data,
node->thunk.virtual_value = virtual_value;
node->thunk.virtual_offset_p = (type & 4);
}
- if (node->symbol.alias && !node->symbol.analyzed && node->symbol.weakref)
- node->symbol.alias_target = get_alias_symbol (node->symbol.decl);
+ if (node->alias && !node->analyzed && node->weakref)
+ node->alias_target = get_alias_symbol (node->decl);
node->profile_id = streamer_read_hwi (ib);
return node;
}
@@ -1125,36 +1125,36 @@ input_varpool_node (struct lto_file_decl_data *file_data,
from other input file. We keep cgraph unmerged until after streaming
of ipa passes is done. Alays forcingly create a fresh node. */
node = varpool_create_empty_node ();
- node->symbol.decl = var_decl;
- symtab_register_node ((symtab_node)node);
+ node->decl = var_decl;
+ symtab_register_node (node);
- node->symbol.order = order;
+ node->order = order;
if (order >= symtab_order)
symtab_order = order + 1;
- node->symbol.lto_file_data = file_data;
+ node->lto_file_data = file_data;
bp = streamer_read_bitpack (ib);
- node->symbol.externally_visible = bp_unpack_value (&bp, 1);
- node->symbol.force_output = bp_unpack_value (&bp, 1);
- node->symbol.forced_by_abi = bp_unpack_value (&bp, 1);
- node->symbol.unique_name = bp_unpack_value (&bp, 1);
- node->symbol.definition = bp_unpack_value (&bp, 1);
- node->symbol.alias = bp_unpack_value (&bp, 1);
- node->symbol.weakref = bp_unpack_value (&bp, 1);
- node->symbol.analyzed = bp_unpack_value (&bp, 1);
- node->symbol.used_from_other_partition = bp_unpack_value (&bp, 1);
- node->symbol.in_other_partition = bp_unpack_value (&bp, 1);
- if (node->symbol.in_other_partition)
+ node->externally_visible = bp_unpack_value (&bp, 1);
+ node->force_output = bp_unpack_value (&bp, 1);
+ node->forced_by_abi = bp_unpack_value (&bp, 1);
+ node->unique_name = bp_unpack_value (&bp, 1);
+ node->definition = bp_unpack_value (&bp, 1);
+ node->alias = bp_unpack_value (&bp, 1);
+ node->weakref = bp_unpack_value (&bp, 1);
+ node->analyzed = bp_unpack_value (&bp, 1);
+ node->used_from_other_partition = bp_unpack_value (&bp, 1);
+ node->in_other_partition = bp_unpack_value (&bp, 1);
+ if (node->in_other_partition)
{
- DECL_EXTERNAL (node->symbol.decl) = 1;
- TREE_STATIC (node->symbol.decl) = 0;
+ DECL_EXTERNAL (node->decl) = 1;
+ TREE_STATIC (node->decl) = 0;
}
- if (node->symbol.alias && !node->symbol.analyzed && node->symbol.weakref)
- node->symbol.alias_target = get_alias_symbol (node->symbol.decl);
+ if (node->alias && !node->analyzed && node->weakref)
+ node->alias_target = get_alias_symbol (node->decl);
ref = streamer_read_hwi (ib);
/* Store a reference for now, and fix up later to be a pointer. */
- node->symbol.same_comdat_group = (symtab_node) (intptr_t) ref;
- node->symbol.resolution = streamer_read_enum (ib, ld_plugin_symbol_resolution,
+ node->same_comdat_group = (symtab_node) (intptr_t) ref;
+ node->resolution = streamer_read_enum (ib, ld_plugin_symbol_resolution,
LDPR_NUM_KNOWN);
return node;
@@ -1203,13 +1203,13 @@ input_edge (struct lto_input_block *ib, vec<symtab_node> nodes,
int ecf_flags = 0;
caller = cgraph (nodes[streamer_read_hwi (ib)]);
- if (caller == NULL || caller->symbol.decl == NULL_TREE)
+ if (caller == NULL || caller->decl == NULL_TREE)
internal_error ("bytecode stream: no caller found while reading edge");
if (!indirect)
{
callee = cgraph (nodes[streamer_read_hwi (ib)]);
- if (callee == NULL || callee->symbol.decl == NULL_TREE)
+ if (callee == NULL || callee->decl == NULL_TREE)
internal_error ("bytecode stream: no callee found while reading edge");
}
else
@@ -1276,14 +1276,14 @@ input_cgraph_1 (struct lto_file_decl_data *file_data,
input_edge (ib, nodes, true);
else if (tag == LTO_symtab_variable)
{
- node = (symtab_node)input_varpool_node (file_data, ib);
+ node = input_varpool_node (file_data, ib);
nodes.safe_push (node);
lto_symtab_encoder_encode (file_data->symtab_node_encoder, node);
}
else
{
- node = (symtab_node)input_node (file_data, ib, tag, nodes);
- if (node == NULL || node->symbol.decl == NULL_TREE)
+ node = input_node (file_data, ib, tag, nodes);
+ if (node == NULL || node->decl == NULL_TREE)
internal_error ("bytecode stream: found empty cgraph node");
nodes.safe_push (node);
lto_symtab_encoder_encode (file_data->symtab_node_encoder, node);
@@ -1297,7 +1297,7 @@ input_cgraph_1 (struct lto_file_decl_data *file_data,
/* AUX pointers should be all non-zero for function nodes read from the stream. */
#ifdef ENABLE_CHECKING
FOR_EACH_VEC_ELT (nodes, i, node)
- gcc_assert (node->symbol.aux || !is_a <cgraph_node> (node));
+ gcc_assert (node->aux || !is_a <cgraph_node> (node));
#endif
FOR_EACH_VEC_ELT (nodes, i, node)
{
@@ -1307,9 +1307,9 @@ input_cgraph_1 (struct lto_file_decl_data *file_data,
ref = (int) (intptr_t) cnode->global.inlined_to;
/* We share declaration of builtins, so we may read same node twice. */
- if (!node->symbol.aux)
+ if (!node->aux)
continue;
- node->symbol.aux = NULL;
+ node->aux = NULL;
/* Fixup inlined_to from reference to pointer. */
if (ref != LCC_NOT_FOUND)
@@ -1318,16 +1318,16 @@ input_cgraph_1 (struct lto_file_decl_data *file_data,
cnode->global.inlined_to = NULL;
}
- ref = (int) (intptr_t) node->symbol.same_comdat_group;
+ ref = (int) (intptr_t) node->same_comdat_group;
/* Fixup same_comdat_group from reference to pointer. */
if (ref != LCC_NOT_FOUND)
- node->symbol.same_comdat_group = nodes[ref];
+ node->same_comdat_group = nodes[ref];
else
- node->symbol.same_comdat_group = NULL;
+ node->same_comdat_group = NULL;
}
FOR_EACH_VEC_ELT (nodes, i, node)
- node->symbol.aux = is_a <cgraph_node> (node) ? (void *)1 : NULL;
+ node->aux = is_a <cgraph_node> (node) ? (void *)1 : NULL;
return nodes;
}
@@ -1509,13 +1509,13 @@ merge_profile_summaries (struct lto_file_decl_data **file_data_vec)
During LTRANS we already have values of count_materialization_scale
computed, so just update them. */
FOR_EACH_FUNCTION (node)
- if (node->symbol.lto_file_data
- && node->symbol.lto_file_data->profile_info.runs)
+ if (node->lto_file_data
+ && node->lto_file_data->profile_info.runs)
{
int scale;
scale = RDIV (node->count_materialization_scale * max_runs,
- node->symbol.lto_file_data->profile_info.runs);
+ node->lto_file_data->profile_info.runs);
node->count_materialization_scale = scale;
if (scale < 0)
fatal_error ("Profile information in %s corrupted",
@@ -1583,8 +1583,8 @@ input_symtab (void)
node for the parent function was never emitted to the gimple
file, cgraph_node will create a node for it when setting the
context of the nested function. */
- if (node->symbol.lto_file_data)
- node->symbol.aux = NULL;
+ if (node->lto_file_data)
+ node->aux = NULL;
}
}
@@ -1651,7 +1651,7 @@ output_node_opt_summary (struct output_block *ob,
streamer_write_bitpack (&bp);
}
- if (lto_symtab_encoder_in_partition_p (encoder, (symtab_node) node))
+ if (lto_symtab_encoder_in_partition_p (encoder, node))
{
for (e = node->callees; e; e = e->next_callee)
output_edge_opt_summary (ob, e);