aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index fcf9cd5..84d6e71 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -159,7 +159,7 @@ set_new_clone_decl_and_node_flags (cgraph_node *new_node)
DECL_SET_IS_OPERATOR_DELETE (new_node->decl, 0);
new_node->externally_visible = 0;
- new_node->local.local = 1;
+ new_node->local = 1;
new_node->lowered = true;
}
@@ -223,7 +223,7 @@ duplicate_thunk_for_node (cgraph_node *thunk, cgraph_node *node)
new_thunk = cgraph_node::create (new_decl);
set_new_clone_decl_and_node_flags (new_thunk);
new_thunk->definition = true;
- new_thunk->local.can_change_signature = node->local.can_change_signature;
+ new_thunk->can_change_signature = node->can_change_signature;
new_thunk->thunk = thunk->thunk;
new_thunk->unique_name = in_lto_p;
new_thunk->former_clone_of = thunk->decl;
@@ -353,10 +353,13 @@ cgraph_node::create_clone (tree new_decl, profile_count prof_count,
}
new_node->analyzed = analyzed;
new_node->definition = definition;
- new_node->local = local;
+ new_node->versionable = versionable;
+ new_node->can_change_signature = can_change_signature;
+ new_node->redefined_extern_inline = redefined_extern_inline;
+ new_node->tm_may_enter_irr = tm_may_enter_irr;
new_node->externally_visible = false;
new_node->no_reorder = no_reorder;
- new_node->local.local = true;
+ new_node->local = true;
new_node->inlined_to = new_inlined_to;
new_node->rtl = rtl;
new_node->frequency = frequency;
@@ -524,11 +527,11 @@ cgraph_node::create_virtual_clone (vec<cgraph_edge *> redirect_callers,
ipa_replace_map *map;
char *name;
- gcc_checking_assert (local.versionable);
+ gcc_checking_assert (versionable);
/* TODO: It would be nice if we could recognize that param_adjustments do not
actually perform any changes, but at the moment let's require it simply
does not exist. */
- gcc_assert (local.can_change_signature || !param_adjustments);
+ gcc_assert (can_change_signature || !param_adjustments);
/* Make a new FUNCTION_DECL tree node */
if (!param_adjustments)
@@ -860,7 +863,7 @@ cgraph_node::create_version_clone (tree new_decl,
new_version->local = local;
new_version->externally_visible = false;
new_version->no_reorder = no_reorder;
- new_version->local.local = new_version->definition;
+ new_version->local = new_version->definition;
new_version->inlined_to = inlined_to;
new_version->rtl = rtl;
new_version->count = count;
@@ -931,7 +934,7 @@ cgraph_node::create_version_clone_with_body
return NULL;
/* TODO: Restore an assert that we do not change signature if
- local.can_change_signature is false. We cannot just check that
+ can_change_signature is false. We cannot just check that
param_adjustments is NULL because unfortunately ipa-split removes return
values from such functions. */
@@ -987,7 +990,7 @@ cgraph_node::create_version_clone_with_body
new_version_node->make_decl_local ();
DECL_VIRTUAL_P (new_version_node->decl) = 0;
new_version_node->externally_visible = 0;
- new_version_node->local.local = 1;
+ new_version_node->local = 1;
new_version_node->lowered = true;
if (!implicit_section)
new_version_node->set_section (get_section ());