diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-19 22:28:54 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-19 22:28:54 +0000 |
commit | 8cbc43ff3ac96b63398541afb687480c77fe7483 (patch) | |
tree | 518ceb62ac7521423992dc5befe95e7c201bee2d /gcc/cgraphunit.c | |
parent | c20711d5cf19f0040785730f8d2324ceb6e48a21 (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.c | 68 |
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) |