summaryrefslogtreecommitdiff
path: root/gcc/cgraphclones.c
diff options
context:
space:
mode:
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-16 09:20:43 +0000
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-16 09:20:43 +0000
commit2cf4c3b3f58c22be7b0c559dbb0126927b3ace92 (patch)
treedd571458b5f17429edbc1f60acb67d6fa5f2ecd4 /gcc/cgraphclones.c
parentcb648ea4e969ef1b113cb0e5fa307f6223e74e27 (diff)
downloadgcc-2cf4c3b3f58c22be7b0c559dbb0126927b3ace92.tar.gz
2014-04-16 Martin Jambor <mjambor@suse.cz>
* cgraphclones.c (cgraph_create_virtual_clone): Duplicate ipa_transforms_to_apply. (cgraph_function_versioning): Assert that old_node has empty ipa_transforms_to_apply. * trans-mem.c (ipa_tm_create_version): Likewise. * tree-inline.c (tree_function_versioning): Do not duplicate ipa_transforms_to_apply. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209441 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r--gcc/cgraphclones.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index 257939cb022..cd2d73d1c94 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -600,6 +600,9 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
}
else
new_node->clone.combined_args_to_skip = args_to_skip;
+ if (old_node->ipa_transforms_to_apply.exists ())
+ new_node->ipa_transforms_to_apply
+ = old_node->ipa_transforms_to_apply.copy ();
cgraph_call_node_duplication_hooks (old_node, new_node);
@@ -971,6 +974,7 @@ cgraph_function_versioning (struct cgraph_node *old_version_node,
cgraph_copy_node_for_versioning (old_version_node, new_decl,
redirect_callers, bbs_to_copy);
+ gcc_assert (!old_version_node->ipa_transforms_to_apply.exists ());
/* Copy the OLD_VERSION_NODE function tree to the new version. */
tree_function_versioning (old_decl, new_decl, tree_map, false, args_to_skip,
skip_return, bbs_to_copy, new_entry_block);