This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: re-apply sibcall replacement

On Wed, 2003-12-17 at 13:38, Jan Hubicka wrote:

> 	* (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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]