summaryrefslogtreecommitdiff
path: root/gcc/ipa-split.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ipa-split.c')
-rw-r--r--gcc/ipa-split.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 5d5db0e4eee..5d6763d102d 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -1230,20 +1230,6 @@ find_split_points (basic_block return_bb, int overall_time, int overall_size)
BITMAP_FREE (current.ssa_names_to_pass);
}
-/* Build and insert initialization of returned bounds RETBND
- for returned value RETVAL. Statements are inserted after
- a statement pointed by GSI and GSI is modified to point to
- the last inserted statement. */
-
-static void
-insert_bndret_call_after (tree retbnd, tree retval, gimple_stmt_iterator *gsi)
-{
- tree fndecl = targetm.builtin_chkp_function (BUILT_IN_CHKP_BNDRET);
- gimple bndret = gimple_build_call (fndecl, 1, retval);
- gimple_call_set_lhs (bndret, retbnd);
- gsi_insert_after (gsi, bndret, GSI_CONTINUE_LINKING);
-}
-
/* Split function at SPLIT_POINT. */
static void
@@ -1402,6 +1388,8 @@ split_function (basic_block return_bb, struct split_point *split_point,
(vNULL, NULL, args_to_skip, !split_part_return_p, split_point->split_bbs,
split_point->entry_bb, "part");
+ node->split_part = true;
+
/* Let's take a time profile for splitted function. */
node->tp_first_run = cur_node->tp_first_run + 1;
@@ -1650,7 +1638,7 @@ split_function (basic_block return_bb, struct split_point *split_point,
}
/* Build bndret call to obtain returned bounds. */
if (retbnd)
- insert_bndret_call_after (retbnd, retval, &gsi);
+ chkp_insert_retbnd_call (retbnd, retval, &gsi);
gimple_call_set_lhs (call, retval);
update_stmt (call);
}
@@ -1700,7 +1688,7 @@ split_function (basic_block return_bb, struct split_point *split_point,
gsi_insert_after (&gsi, call, GSI_NEW_STMT);
/* Build bndret call to obtain returned bounds. */
if (retbnd)
- insert_bndret_call_after (retbnd, retval, &gsi);
+ chkp_insert_retbnd_call (retbnd, retval, &gsi);
if (tsan_func_exit_call)
gsi_insert_after (&gsi, tsan_func_exit_call, GSI_NEW_STMT);
ret = gimple_build_return (retval);