diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-20 01:04:51 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-20 01:04:51 +0000 |
commit | d826e13109822b8430676ef5f9de85fdbfe89ba8 (patch) | |
tree | 6d94167b35596d4f96592be435d8120a71ea2597 /gcc/ipa-inline-transform.c | |
parent | 8b73097663664892cbcb87156e271e3d34736cc8 (diff) | |
download | gcc-d826e13109822b8430676ef5f9de85fdbfe89ba8.tar.gz |
* ipa-inline-transform.c (save_inline_function_body): Add comments.
* ipa-inline.c (inline_small_functions): Compute summaries first, populate
heap later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172751 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-inline-transform.c')
-rw-r--r-- | gcc/ipa-inline-transform.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c index 0fb24488893..25ad84a418c 100644 --- a/gcc/ipa-inline-transform.c +++ b/gcc/ipa-inline-transform.c @@ -253,6 +253,9 @@ save_inline_function_body (struct cgraph_node *node) /* Now node in question has no clones. */ node->clones = NULL; + /* Inline clones share decl with the function they are cloned + from. Walk the whole clone tree and redirect them all to the + new decl. */ if (first_clone->clones) for (n = first_clone->clones; n != first_clone;) { @@ -275,6 +278,8 @@ save_inline_function_body (struct cgraph_node *node) tree_function_versioning (node->decl, first_clone->decl, NULL, true, NULL, NULL, NULL); + /* The function will be short lived and removed after we inline all the clones, + but make it internal so we won't confuse ourself. */ DECL_EXTERNAL (first_clone->decl) = 0; DECL_COMDAT_GROUP (first_clone->decl) = NULL_TREE; TREE_PUBLIC (first_clone->decl) = 0; |