summaryrefslogtreecommitdiff
path: root/gcc/bb-reorder.c
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-09 01:20:14 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-09 01:20:14 +0000
commit0a55d49743f9fb5b2981037ca7676b818d273073 (patch)
treebaff6cd042f250e9fc891b81960ba3c328cc11eb /gcc/bb-reorder.c
parentef956340328a0f9f24599985f6edd5b36f9eb134 (diff)
downloadgcc-0a55d49743f9fb5b2981037ca7676b818d273073.tar.gz
* function.c (bb_active_p): Delete.
(dup_block_and_redirect, active_insn_between): New functions. (convert_jumps_to_returns, emit_return_for_exit): New functions, split out from.. (thread_prologue_and_epilogue_insns): ..here. Delete shadowing variables. Don't do prologue register clobber tests when shrink wrapping already failed. Delete all last_bb_active code. Instead compute tail block candidates for duplicating exit path. Remove these from antic set. Duplicate tails when reached from both blocks needing a prologue/epilogue and blocks not needing such. * ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and HAVE_simple_return. * bb-reorder.c (get_uncond_jump_length): Make global. * bb-reorder.h (get_uncond_jump_length): Declare. * cfgrtl.c (rtl_create_basic_block): Comment typo fix. (rtl_split_edge): Likewise. Warning fix. (rtl_duplicate_bb): New function. (rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block. * Makefile.in (function.o): Update dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/bb-reorder.c')
-rw-r--r--gcc/bb-reorder.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c
index 3ac7fbd6034..017c205d086 100644
--- a/gcc/bb-reorder.c
+++ b/gcc/bb-reorder.c
@@ -181,7 +181,6 @@ static fibheapkey_t bb_to_key (basic_block);
static bool better_edge_p (const_basic_block, const_edge, int, int, int, int, const_edge);
static void connect_traces (int, struct trace *);
static bool copy_bb_p (const_basic_block, int);
-static int get_uncond_jump_length (void);
static bool push_to_next_round_p (const_basic_block, int, int, int, gcov_type);
/* Check to see if bb should be pushed into the next round of trace
@@ -1193,7 +1192,7 @@ copy_bb_p (const_basic_block bb, int code_may_grow)
/* Return the length of unconditional jump instruction. */
-static int
+int
get_uncond_jump_length (void)
{
rtx label, jump;