aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@gcc.gnu.org>2015-04-02 05:14:26 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2015-04-02 05:14:26 +0000
commited6ef4907a2e6c0e69f0c3b3dd3a916f24236022 (patch)
tree330c5c798a158ed1a698b42d78bdcc0c5f127e58
parent709d77eab7d6ea303fed1ec822dfe5f8c5d6d008 (diff)
downloadgcc-ed6ef4907a2e6c0e69f0c3b3dd3a916f24236022.zip
gcc-ed6ef4907a2e6c0e69f0c3b3dd3a916f24236022.tar.gz
gcc-ed6ef4907a2e6c0e69f0c3b3dd3a916f24236022.tar.bz2
lto-cgraph.c (lto_output_node, [...]): Stream split_part.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Stream split_part. * ipa-inline.c (edge_badness): Add wrapper penalty. (sum_callers): Move up. (inline_small_functions): Set single_caller. * ipa-inline.h (inline_summary): Add single_caller. * ipa-split.c (split_function): Set split_part. (cgraph_node::create_clone): Do not shadow decl; copy split_part. * cgraph.h (cgraph_node): Add split_part. From-SVN: r221818
-rw-r--r--gcc/cgraphclones.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index c740176..b587ff2 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -437,7 +437,7 @@ cgraph_node::expand_all_artificial_thunks ()
node is not inlined. */
cgraph_node *
-cgraph_node::create_clone (tree decl, gcov_type gcov_count, int freq,
+cgraph_node::create_clone (tree new_decl, gcov_type gcov_count, int freq,
bool update_original,
vec<cgraph_edge *> redirect_callers,
bool call_duplication_hook,
@@ -449,7 +449,7 @@ cgraph_node::create_clone (tree decl, gcov_type gcov_count, int freq,
gcov_type count_scale;
unsigned i;
- new_node->decl = decl;
+ new_node->decl = new_decl;
new_node->register_symbol ();
new_node->origin = origin;
new_node->lto_file_data = lto_file_data;
@@ -476,6 +476,7 @@ cgraph_node::create_clone (tree decl, gcov_type gcov_count, int freq,
new_node->clone.tree_map = NULL;
new_node->clone.args_to_skip = args_to_skip;
+ new_node->split_part = split_part;
if (!args_to_skip)
new_node->clone.combined_args_to_skip = clone.combined_args_to_skip;
else if (clone.combined_args_to_skip)