aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-split.c
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2015-04-10 18:39:05 +0000
committerMichael Meissner <meissner@linux.vnet.ibm.com>2015-04-10 18:39:05 +0000
commitbc57afcfbb08ff10cc6fd036d580c71bfaf00ed8 (patch)
tree10f38072ae840828e4205e4f549020643cfeb678 /gcc/ipa-split.c
parent48796cb6a9ff1feb2f870a4d6bd1d49112265c12 (diff)
parent24aaa4722c67688820b40f62483a6243e552d447 (diff)
Merge up to 221977ibm/fusion3
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/fusion3@221980 138bc75d-0d04-0410-961f-82ee72b054a4
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);