aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-split.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-01-11 18:47:28 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-01-11 18:47:28 +0000
commit1a2c27e964bb00e2ddbe3e1a265c95adb851402c (patch)
treef3e48a68df89c7419d086f7a678f0af82c975f18 /gcc/ipa-split.c
parentb2e25729e5a4b93e4c022815f19a43e4ae01f11e (diff)
downloadgcc-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.c1
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