On Thu, 24 Apr 2025, Jakub Jelinek wrote:

> On Tue, Apr 01, 2025 at 11:51:49AM +0200, Jakub Jelinek wrote:
> > Here it is, ok if it passes bootstrap/regtest?  I'll queue the interdiff
> > between this patch and the previous one for GCC 16.
> 
> Here is the interdiff to improve the tail recursion handling also for
> non-musttail calls.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

OK

> 2025-04-24  Jakub Jelinek  <ja...@redhat.com>
> 
>       PR tree-optimization/119493
>       * tree-tailcall.cc (find_tail_calls): Handle non-gimple_reg_type
>       arguments which aren't just passed through for tail recursions
>       even for non-musttail calls.
> 
> --- gcc/tree-tailcall.cc.jj   2025-04-01 16:47:30.373502796 +0200
> +++ gcc/tree-tailcall.cc      2025-04-01 20:08:34.578787921 +0200
> @@ -685,8 +685,7 @@ find_tail_calls (basic_block bb, struct
>                 ? !is_gimple_reg (param)
>                 : (!is_gimple_variable (param)
>                    || TREE_THIS_VOLATILE (param)
> -                  || may_be_aliased (param)
> -                  || !gimple_call_must_tail_p (call)))
> +                  || may_be_aliased (param)))
>               break;
>           }
>       }
> 
> 
>       Jakub
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Reply via email to