OSDN Git Service

* function.c (bb_active_p): Delete.
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Nov 2011 01:20:14 +0000 (01:20 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Nov 2011 01:20:14 +0000 (01:20 +0000)
commit0a55d49743f9fb5b2981037ca7676b818d273073
treebaff6cd042f250e9fc891b81960ba3c328cc11eb
parentef956340328a0f9f24599985f6edd5b36f9eb134
* 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
gcc/ChangeLog
gcc/Makefile.in
gcc/bb-reorder.c
gcc/bb-reorder.h
gcc/cfgrtl.c
gcc/function.c
gcc/ifcvt.c