aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-19 22:28:54 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-19 22:28:54 +0000
commit8cbc43ff3ac96b63398541afb687480c77fe7483 (patch)
tree518ceb62ac7521423992dc5befe95e7c201bee2d /gcc/cgraphunit.c
parentc20711d5cf19f0040785730f8d2324ceb6e48a21 (diff)
* cgraph.h (save_inline_function_body): Remove.
* ipa-inline-transform.c: New file, broke out of... * ipa-inline.c: ... this one; Update toplevel comment. (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c; make global. (update_noncloned_frequencies): Move to ipa-inline-transform.c (cgraph_mark_inline_edge): Rename to inline_call; move to ipa-inline-transform.c. (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes; move to ipa-inline-transform.c (recursive_inlining, inline_small_functions, flatten_function, ipa_inline, inline_always_inline_functions, early_inline_small_functions): Update. (inline_transform): Move to ipa-inline-transform.c. * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes): Declare. * Makefile.in (ipa-inline-transform.o): New file. * cgraphunit.c (save_inline_function_body): Move to ipa-inline-transform.c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172739 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 3dbfc2bbf15..1a687fbbc7a 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -2094,74 +2094,6 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
return new_version_node;
}
-/* Produce separate function body for inline clones so the offline copy can be
- modified without affecting them. */
-struct cgraph_node *
-save_inline_function_body (struct cgraph_node *node)
-{
- struct cgraph_node *first_clone, *n;
-
- gcc_assert (node == cgraph_get_node (node->decl));
-
- cgraph_lower_function (node);
-
- first_clone = node->clones;
-
- first_clone->decl = copy_node (node->decl);
- cgraph_insert_node_to_hashtable (first_clone);
- gcc_assert (first_clone == cgraph_get_node (first_clone->decl));
- if (first_clone->next_sibling_clone)
- {
- for (n = first_clone->next_sibling_clone; n->next_sibling_clone; n = n->next_sibling_clone)
- n->clone_of = first_clone;
- n->clone_of = first_clone;
- n->next_sibling_clone = first_clone->clones;
- if (first_clone->clones)
- first_clone->clones->prev_sibling_clone = n;
- first_clone->clones = first_clone->next_sibling_clone;
- first_clone->next_sibling_clone->prev_sibling_clone = NULL;
- first_clone->next_sibling_clone = NULL;
- gcc_assert (!first_clone->prev_sibling_clone);
- }
- first_clone->clone_of = NULL;
- node->clones = NULL;
-
- if (first_clone->clones)
- for (n = first_clone->clones; n != first_clone;)
- {
- gcc_assert (n->decl == node->decl);
- n->decl = first_clone->decl;
- if (n->clones)
- n = n->clones;
- else if (n->next_sibling_clone)
- n = n->next_sibling_clone;
- else
- {
- while (n != first_clone && !n->next_sibling_clone)
- n = n->clone_of;
- if (n != first_clone)
- n = n->next_sibling_clone;
- }
- }
-
- /* Copy the OLD_VERSION_NODE function tree to the new version. */
- tree_function_versioning (node->decl, first_clone->decl, NULL, true, NULL,
- NULL, NULL);
-
- DECL_EXTERNAL (first_clone->decl) = 0;
- DECL_COMDAT_GROUP (first_clone->decl) = NULL_TREE;
- TREE_PUBLIC (first_clone->decl) = 0;
- DECL_COMDAT (first_clone->decl) = 0;
- VEC_free (ipa_opt_pass, heap,
- first_clone->ipa_transforms_to_apply);
- first_clone->ipa_transforms_to_apply = NULL;
-
-#ifdef ENABLE_CHECKING
- verify_cgraph_node (first_clone);
-#endif
- return first_clone;
-}
-
/* Given virtual clone, turn it into actual clone. */
static void
cgraph_materialize_clone (struct cgraph_node *node)