cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled.
* cgraph.c (cgraph_create_virtual_clone): Only check versionable_function_p when not in wpa and checking is enabled. * cgrpahunit.c (cgraph_materialize_all_clones): Stabilize after there are no more functions to materialize. * lto/lto.c (lto_1_to_1_map): Partition non-inline clones. (lto_promote_cross_file_statics): Deal with non-inline clones. From-SVN: r159518
This commit is contained in:
parent
922f15c273
commit
36576655d8
|
@ -1,3 +1,10 @@
|
|||
2010-05-17 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* cgraph.c (cgraph_create_virtual_clone): Only check
|
||||
versionable_function_p when not in wpa and checking is enabled.
|
||||
* cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
|
||||
there are no more functions to materialize.
|
||||
|
||||
2010-05-17 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* cgraph.h (struct ipa_replace_map): Add parm_num parameter.
|
||||
|
|
|
@ -2184,7 +2184,10 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
|
|||
size_t i;
|
||||
struct ipa_replace_map *map;
|
||||
|
||||
gcc_assert (tree_versionable_function_p (old_decl));
|
||||
#ifdef ENABLE_CHECKING
|
||||
if (!flag_wpa)
|
||||
gcc_assert (tree_versionable_function_p (old_decl));
|
||||
#endif
|
||||
|
||||
/* Make a new FUNCTION_DECL tree node */
|
||||
if (!args_to_skip)
|
||||
|
|
|
@ -2425,9 +2425,8 @@ cgraph_materialize_all_clones (void)
|
|||
}
|
||||
}
|
||||
cgraph_materialize_clone (node);
|
||||
stabilized = false;
|
||||
}
|
||||
else
|
||||
stabilized = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2010-05-18 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* lto/lto.c (lto_1_to_1_map): Partition non-inline clones.
|
||||
(lto_promote_cross_file_statics): Deal with non-inline clones.
|
||||
|
||||
2010-05-18 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* lto.c (lto_materialize_function): Announce function when
|
||||
|
|
|
@ -537,9 +537,8 @@ lto_1_to_1_map (void)
|
|||
|
||||
for (node = cgraph_nodes; node; node = node->next)
|
||||
{
|
||||
/* We will get proper partition based on function they are inlined to or
|
||||
cloned from. */
|
||||
if (node->global.inlined_to || node->clone_of)
|
||||
/* We will get proper partition based on function they are inlined to. */
|
||||
if (node->global.inlined_to)
|
||||
continue;
|
||||
/* Nodes without a body do not need partitioning. */
|
||||
if (!node->analyzed)
|
||||
|
@ -721,7 +720,7 @@ lto_promote_cross_file_statics (void)
|
|||
struct cgraph_node *node = csi_node (csi);
|
||||
if (node->local.externally_visible)
|
||||
continue;
|
||||
if (node->clone_of || node->global.inlined_to)
|
||||
if (node->global.inlined_to)
|
||||
continue;
|
||||
if (!DECL_EXTERNAL (node->decl)
|
||||
&& (referenced_from_other_partition_p (&node->ref_list, set, vset)
|
||||
|
|
Loading…
Reference in New Issue