diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2012-01-11 18:47:28 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-01-11 18:47:28 +0000 |
commit | 1a2c27e964bb00e2ddbe3e1a265c95adb851402c (patch) | |
tree | f3e48a68df89c7419d086f7a678f0af82c975f18 /gcc/ipa-split.c | |
parent | b2e25729e5a4b93e4c022815f19a43e4ae01f11e (diff) | |
download | gcc-1a2c27e964bb00e2ddbe3e1a265c95adb851402c.zip gcc-1a2c27e964bb00e2ddbe3e1a265c95adb851402c.tar.gz gcc-1a2c27e964bb00e2ddbe3e1a265c95adb851402c.tar.bz2 |
tree.h (build_function_decl_skip_args): Add boolean parameter.
* tree.h (build_function_decl_skip_args): Add boolean parameter.
(build_function_type_skip_args): Delete.
* tree.c (build_function_type_skip_args): Make static and add
SKIP_RETURN parameter. Fix thinko in the handling of variants.
(build_function_decl_skip_args): Add SKIP_RETURN parameter and
pass it to build_function_type_skip_args.
* cgraph.h (cgraph_function_versioning): Add boolean parameter.
(tree_function_versioning): Likewise.
* cgraph.c (cgraph_create_virtual_clone): Adjust call to
build_function_decl_skip_args.
* cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
and pass it to build_function_decl_skip_args/tree_function_versioning.
(cgraph_materialize_clone): Adjust call to tree_function_versioning.
* ipa-inline-transform.c (save_inline_function_body): Likewise.
* trans-mem.c (ipa_tm_create_version): Likewise.
* tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
* tree-inline.c (declare_return_variable): Remove always-true test.
(tree_function_versioning): Add SKIP_RETURN parameter. If the function
returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
* ipa-split.c (split_function): Skip the return value for the split
part if it doesn't return.
From-SVN: r183102
Diffstat (limited to 'gcc/ipa-split.c')
-rw-r--r-- | gcc/ipa-split.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c index 6195f81..09e04af 100644 --- a/gcc/ipa-split.c +++ b/gcc/ipa-split.c @@ -1191,6 +1191,7 @@ split_function (struct split_point *split_point) /* Now create the actual clone. */ rebuild_cgraph_edges (); node = cgraph_function_versioning (cur_node, NULL, NULL, args_to_skip, + !split_part_return_p, split_point->split_bbs, split_point->entry_bb, "part"); /* For usual cloning it is enough to clear builtin only when signature |