aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c90
1 files changed, 45 insertions, 45 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index 05a9067..373f501 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -187,19 +187,19 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq,
gcov_type count_scale;
unsigned i;
- new_node->symbol.decl = decl;
- symtab_register_node ((symtab_node)new_node);
+ new_node->decl = decl;
+ symtab_register_node (new_node);
new_node->origin = n->origin;
- new_node->symbol.lto_file_data = n->symbol.lto_file_data;
+ new_node->lto_file_data = n->lto_file_data;
if (new_node->origin)
{
new_node->next_nested = new_node->origin->nested;
new_node->origin->nested = new_node;
}
- new_node->symbol.analyzed = n->symbol.analyzed;
- new_node->symbol.definition = n->symbol.definition;
+ new_node->analyzed = n->analyzed;
+ new_node->definition = n->definition;
new_node->local = n->local;
- new_node->symbol.externally_visible = false;
+ new_node->externally_visible = false;
new_node->local.local = true;
new_node->global = n->global;
new_node->global.inlined_to = new_inlined_to;
@@ -239,7 +239,7 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq,
for (e = n->indirect_calls; e; e = e->next_callee)
cgraph_clone_edge (e, new_node, e->call_stmt, e->lto_stmt_uid,
count_scale, freq, update_original);
- ipa_clone_references ((symtab_node)new_node, &n->symbol.ref_list);
+ ipa_clone_references (new_node, &n->ref_list);
new_node->next_sibling_clone = n->clones;
if (n->clones)
@@ -290,7 +290,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
bitmap args_to_skip,
const char * suffix)
{
- tree old_decl = old_node->symbol.decl;
+ tree old_decl = old_node->decl;
struct cgraph_node *new_node = NULL;
tree new_decl;
size_t len, i;
@@ -336,16 +336,16 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
that is not weak also.
??? We cannot use COMDAT linkage because there is no
ABI support for this. */
- DECL_EXTERNAL (new_node->symbol.decl) = 0;
+ DECL_EXTERNAL (new_node->decl) = 0;
if (DECL_ONE_ONLY (old_decl))
- DECL_SECTION_NAME (new_node->symbol.decl) = NULL;
- DECL_COMDAT_GROUP (new_node->symbol.decl) = 0;
- TREE_PUBLIC (new_node->symbol.decl) = 0;
- DECL_COMDAT (new_node->symbol.decl) = 0;
- DECL_WEAK (new_node->symbol.decl) = 0;
- DECL_VIRTUAL_P (new_node->symbol.decl) = 0;
- DECL_STATIC_CONSTRUCTOR (new_node->symbol.decl) = 0;
- DECL_STATIC_DESTRUCTOR (new_node->symbol.decl) = 0;
+ DECL_SECTION_NAME (new_node->decl) = NULL;
+ DECL_COMDAT_GROUP (new_node->decl) = 0;
+ TREE_PUBLIC (new_node->decl) = 0;
+ DECL_COMDAT (new_node->decl) = 0;
+ DECL_WEAK (new_node->decl) = 0;
+ DECL_VIRTUAL_P (new_node->decl) = 0;
+ DECL_STATIC_CONSTRUCTOR (new_node->decl) = 0;
+ DECL_STATIC_DESTRUCTOR (new_node->decl) = 0;
new_node->clone.tree_map = tree_map;
new_node->clone.args_to_skip = args_to_skip;
@@ -355,9 +355,9 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
&& !DECL_WEAK (old_decl)
&& !DECL_COMDAT (old_decl))
|| in_lto_p)
- new_node->symbol.unique_name = true;
+ new_node->unique_name = true;
FOR_EACH_VEC_SAFE_ELT (tree_map, i, map)
- ipa_maybe_record_reference ((symtab_node) new_node, map->new_tree,
+ ipa_maybe_record_reference (new_node, map->new_tree,
IPA_REF_ADDR, NULL);
if (!args_to_skip)
new_node->clone.combined_args_to_skip = old_node->clone.combined_args_to_skip;
@@ -369,7 +369,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
struct cgraph_node *orig_node;
for (orig_node = old_node; orig_node->clone_of; orig_node = orig_node->clone_of)
;
- for (arg = DECL_ARGUMENTS (orig_node->symbol.decl);
+ for (arg = DECL_ARGUMENTS (orig_node->decl);
arg; arg = DECL_CHAIN (arg), oldi++)
{
if (bitmap_bit_p (old_node->clone.combined_args_to_skip, oldi))
@@ -385,7 +385,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
}
else
new_node->clone.combined_args_to_skip = args_to_skip;
- new_node->symbol.externally_visible = 0;
+ new_node->externally_visible = 0;
new_node->local.local = 1;
new_node->lowered = true;
@@ -404,7 +404,7 @@ cgraph_find_replacement_node (struct cgraph_node *node)
for (next_inline_clone = node->clones;
next_inline_clone
- && next_inline_clone->symbol.decl != node->symbol.decl;
+ && next_inline_clone->decl != node->decl;
next_inline_clone = next_inline_clone->next_sibling_clone)
;
@@ -631,8 +631,8 @@ update_call_expr (struct cgraph_node *new_version)
/* Update the call expr on the edges to call the new version. */
for (e = new_version->callers; e; e = e->next_caller)
{
- struct function *inner_function = DECL_STRUCT_FUNCTION (e->caller->symbol.decl);
- gimple_call_set_fndecl (e->call_stmt, new_version->symbol.decl);
+ struct function *inner_function = DECL_STRUCT_FUNCTION (e->caller->decl);
+ gimple_call_set_fndecl (e->call_stmt, new_version->decl);
maybe_clean_eh_stmt_fn (inner_function, e->call_stmt);
}
}
@@ -663,11 +663,11 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version,
new_version = cgraph_create_node (new_decl);
- new_version->symbol.analyzed = old_version->symbol.analyzed;
- new_version->symbol.definition = old_version->symbol.definition;
+ new_version->analyzed = old_version->analyzed;
+ new_version->definition = old_version->definition;
new_version->local = old_version->local;
- new_version->symbol.externally_visible = false;
- new_version->local.local = new_version->symbol.definition;
+ new_version->externally_visible = false;
+ new_version->local.local = new_version->definition;
new_version->global = old_version->global;
new_version->rtl = old_version->rtl;
new_version->count = old_version->count;
@@ -728,7 +728,7 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
basic_block new_entry_block,
const char *clone_name)
{
- tree old_decl = old_version_node->symbol.decl;
+ tree old_decl = old_version_node->decl;
struct cgraph_node *new_version_node = NULL;
tree new_decl;
@@ -768,9 +768,9 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
that is not weak also.
??? We cannot use COMDAT linkage because there is no
ABI support for this. */
- symtab_make_decl_local (new_version_node->symbol.decl);
- DECL_VIRTUAL_P (new_version_node->symbol.decl) = 0;
- new_version_node->symbol.externally_visible = 0;
+ symtab_make_decl_local (new_version_node->decl);
+ DECL_VIRTUAL_P (new_version_node->decl) = 0;
+ new_version_node->externally_visible = 0;
new_version_node->local.local = 1;
new_version_node->lowered = true;
/* Clones of global symbols or symbols with unique names are unique. */
@@ -779,7 +779,7 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
&& !DECL_WEAK (old_decl)
&& !DECL_COMDAT (old_decl))
|| in_lto_p)
- new_version_node->symbol.unique_name = true;
+ new_version_node->unique_name = true;
/* Update the call_expr on the edges to call the new version node. */
update_call_expr (new_version_node);
@@ -794,18 +794,18 @@ static void
cgraph_materialize_clone (struct cgraph_node *node)
{
bitmap_obstack_initialize (NULL);
- node->former_clone_of = node->clone_of->symbol.decl;
+ node->former_clone_of = node->clone_of->decl;
if (node->clone_of->former_clone_of)
node->former_clone_of = node->clone_of->former_clone_of;
/* Copy the OLD_VERSION_NODE function tree to the new version. */
- tree_function_versioning (node->clone_of->symbol.decl, node->symbol.decl,
+ tree_function_versioning (node->clone_of->decl, node->decl,
node->clone.tree_map, true,
node->clone.args_to_skip, false,
NULL, NULL);
if (cgraph_dump_file)
{
- dump_function_to_file (node->clone_of->symbol.decl, cgraph_dump_file, dump_flags);
- dump_function_to_file (node->symbol.decl, cgraph_dump_file, dump_flags);
+ dump_function_to_file (node->clone_of->decl, cgraph_dump_file, dump_flags);
+ dump_function_to_file (node->decl, cgraph_dump_file, dump_flags);
}
/* Function is no longer clone. */
@@ -817,11 +817,11 @@ cgraph_materialize_clone (struct cgraph_node *node)
node->clone_of->clones = node->next_sibling_clone;
node->next_sibling_clone = NULL;
node->prev_sibling_clone = NULL;
- if (!node->clone_of->symbol.analyzed && !node->clone_of->clones)
+ if (!node->clone_of->analyzed && !node->clone_of->clones)
{
cgraph_release_function_body (node->clone_of);
cgraph_node_remove_callees (node->clone_of);
- ipa_remove_all_references (&node->clone_of->symbol.ref_list);
+ ipa_remove_all_references (&node->clone_of->ref_list);
}
node->clone_of = NULL;
bitmap_obstack_release (NULL);
@@ -854,12 +854,12 @@ cgraph_materialize_all_clones (void)
stabilized = true;
FOR_EACH_FUNCTION (node)
{
- if (node->clone_of && node->symbol.decl != node->clone_of->symbol.decl
- && !gimple_has_body_p (node->symbol.decl))
+ if (node->clone_of && node->decl != node->clone_of->decl
+ && !gimple_has_body_p (node->decl))
{
if (!node->clone_of->clone_of)
cgraph_get_body (node->clone_of);
- if (gimple_has_body_p (node->clone_of->symbol.decl))
+ if (gimple_has_body_p (node->clone_of->decl))
{
if (cgraph_dump_file)
{
@@ -903,13 +903,13 @@ cgraph_materialize_all_clones (void)
}
}
FOR_EACH_FUNCTION (node)
- if (!node->symbol.analyzed && node->callees)
+ if (!node->analyzed && node->callees)
{
cgraph_node_remove_callees (node);
- ipa_remove_all_references (&node->symbol.ref_list);
+ ipa_remove_all_references (&node->ref_list);
}
else
- ipa_clear_stmts_in_references ((symtab_node)node);
+ ipa_clear_stmts_in_references (node);
if (cgraph_dump_file)
fprintf (cgraph_dump_file, "Materialization Call site updates done.\n");
#ifdef ENABLE_CHECKING