This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: re-apply sibcall replacement
- From: Diego Novillo <dnovillo at redhat dot com>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 17 Dec 2003 14:26:23 -0500
- Subject: Re: re-apply sibcall replacement
- Organization: Red Hat Canada
- References: <20031217183841.GE8959@kam.mff.cuni.cz>
On Wed, 2003-12-17 at 13:38, Jan Hubicka wrote:
> * Makefile.in (sibcall.o): Kill.
> (tree-tailcall.o): Add except.h dependency
> * sibcall.c: Kill.
> (purge_reg_equiv_notes, purge_mem_unchanging_flag): Move to ...
> * calls.c (purge_reg_equiv_notes, purge_mem_unchanging_flag) ... here.
> (expand_call): Do not produce placeholders; do not deal with tail
> recursion; set tail_call_emit.
> (fixup_tail_calls): New.
> * expr.h (fixup_tail_calls): Declare.
> * toplev.c (rest_of_handle_sibling_calls): Kill.
> (rest_of_compialtion): Do not use rest_of_handle_sibling_calls;
> call fixup_tail_calls.
> * tree-dump.c (dump_files): Add tail2
> * tree-flow.h (tree_optimize_tail_calls): Update prototype.
> * tree-optimize.c (optimize_function_tree): Do tail optimization twice.
> * tree-tailcall.c: Inlucde except.h
> (suitable_for_tail_call_opt_p): New.
> (optimize_tail_call): Add opt_tailcalls argument; optimize tailcalls.
> (tree_optimize_tail_calls): Add opt_tailcalls/pass arguments.
> * tree.h (CALL_EXPR_TAILCALL): New.
> (tree_dump_index): Add tail2
> * function.h (struct function): Add tail_call_emit field.
>
This is OK. Thanks for all the testing and perseverance.
Diego.