r179553 - in /trunk/gcc: ChangeLog cfgcleanup.c...

bernds@gcc.gnu.org bernds@gcc.gnu.org
Wed Oct 5 12:59:00 GMT 2011


Author: bernds
Date: Wed Oct  5 12:59:23 2011
New Revision: 179553

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179553
Log:
	* doc/invoke.texi (-fshrink-wrap): Document.
	* opts.c (default_options_table): Add it.
	* common.opt (fshrink-wrap): Add.
	* function.c (emit_return_into_block): Remove useless declaration.
	(record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
	requires_stack_frame_p, gen_return_pattern): New static functions.
	(emit_return_into_block): New arg simple_p.  All callers changed.
	Use gen_return_pattern.
	(thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
	* config/i386/i386.md (return): Expand into a simple_return.
	(simple_return): New expander):
	(simple_return_internal, simple_return_internal_long,
	simple_return_pop_internal_long, simple_return_indirect_internal):
	Renamed from return_internal, return_internal_long,
	return_pop_internal_long and return_indirect_internal; changed to use
	simple_return.
	* config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
	simple returns.
	(ix86_pad_returns): Likewise.
	* function.h (struct rtl_data): Add member shrink_wrapped.
	* cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
	are not jumps or sibcalls can't be compared.

	* gcc.target/i386/sw-1.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/i386/sw-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgcleanup.c
    trunk/gcc/common.opt
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.md
    trunk/gcc/doc/invoke.texi
    trunk/gcc/function.c
    trunk/gcc/function.h
    trunk/gcc/opts.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list