aboutsummaryrefslogtreecommitdiff
path: root/gcc/bb-reorder.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-11-09 11:50:14 +1030
committerAlan Modra <amodra@gcc.gnu.org>2011-11-09 11:50:14 +1030
commitffe1468659b160f34f296a3879a0894e45e644ba (patch)
treebaff6cd042f250e9fc891b81960ba3c328cc11eb /gcc/bb-reorder.h
parentdce5eb107dfddc1c8bcd04d4f12f34fb7b72964e (diff)
downloadgcc-ffe1468659b160f34f296a3879a0894e45e644ba.zip
gcc-ffe1468659b160f34f296a3879a0894e45e644ba.tar.gz
gcc-ffe1468659b160f34f296a3879a0894e45e644ba.tar.bz2
function.c (bb_active_p): Delete.
* 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. From-SVN: r181188
Diffstat (limited to 'gcc/bb-reorder.h')
-rw-r--r--gcc/bb-reorder.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/bb-reorder.h b/gcc/bb-reorder.h
index 0b5ed25..13acdb0 100644
--- a/gcc/bb-reorder.h
+++ b/gcc/bb-reorder.h
@@ -34,4 +34,6 @@ extern struct target_bb_reorder *this_target_bb_reorder;
#define this_target_bb_reorder (&default_target_bb_reorder)
#endif
+extern int get_uncond_jump_length (void);
+
#endif