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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159518
138bc75d-0d04-0410-961f-
82ee72b054a4
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.
* lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
New functions.
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)
}
}
cgraph_materialize_clone (node);
+ stabilized = false;
}
- else
- stabilized = false;
}
}
}
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
reading body; allocate_struct_function only when reading body;
do not finalize local statics; ggc_collect after reading;
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)
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)