diff options
author | Martin Jambor <mjambor@suse.cz> | 2014-04-16 11:20:43 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2014-04-16 11:20:43 +0200 |
commit | ca860d0367382f466936e1da3a46d6258efec822 (patch) | |
tree | dd571458b5f17429edbc1f60acb67d6fa5f2ecd4 /gcc/cgraphclones.c | |
parent | fe4e71e4d7e881ec3d08d385f16d9c77fee73bc9 (diff) | |
download | gcc-ca860d0367382f466936e1da3a46d6258efec822.zip gcc-ca860d0367382f466936e1da3a46d6258efec822.tar.gz gcc-ca860d0367382f466936e1da3a46d6258efec822.tar.bz2 |
cgraphclones.c (cgraph_create_virtual_clone): Duplicate ipa_transforms_to_apply.
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.
From-SVN: r209441
Diffstat (limited to 'gcc/cgraphclones.c')
-rw-r--r-- | gcc/cgraphclones.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c index 257939c..cd2d73d 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); |