diff options
Diffstat (limited to 'gcc/ipa-split.c')
-rw-r--r-- | gcc/ipa-split.c | 20 |
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); |