On Mon, Jul 08, 2024 at 05:27:53PM +0200, Richard Biener wrote:
>
>
> > Am 08.07.2024 um 17:22 schrieb Andi Kleen :
> >
> > On Mon, Jul 08, 2024 at 08:53:27AM +0200, Richard Biener wrote:
> >> Ah, I see. So this pass is responsible for both -O0 and
> >> -fno-optimized-sibling-calls.
> >> But I
> Am 08.07.2024 um 17:22 schrieb Andi Kleen :
>
> On Mon, Jul 08, 2024 at 08:53:27AM +0200, Richard Biener wrote:
>> Ah, I see. So this pass is responsible for both -O0 and
>> -fno-optimized-sibling-calls.
>> But I'm quite sure the other pass doesn't run with -O0
>> -foptimize-sibling-calls,
On Mon, Jul 08, 2024 at 08:53:27AM +0200, Richard Biener wrote:
> Ah, I see. So this pass is responsible for both -O0 and
> -fno-optimized-sibling-calls.
> But I'm quite sure the other pass doesn't run with -O0
> -foptimize-sibling-calls, does it?
It does run:
./cc1 -O0 -fdump-passes -foptimize-
On Sat, Jul 6, 2024 at 6:07 PM Andi Kleen wrote:
>
> > > +class pass_musttail : public gimple_opt_pass
> > > +{
> > > +public:
> > > + pass_musttail (gcc::context *ctxt)
> > > +: gimple_opt_pass (pass_data_musttail, ctxt)
> > > + {}
> > > +
> > > + /* opt_pass methods: */
> > > + /* This p
> > +class pass_musttail : public gimple_opt_pass
> > +{
> > +public:
> > + pass_musttail (gcc::context *ctxt)
> > +: gimple_opt_pass (pass_data_musttail, ctxt)
> > + {}
> > +
> > + /* opt_pass methods: */
> > + /* This pass is only used when not optimizing to make [[musttail]] still
> > +
On Sat, Jun 22, 2024 at 8:59 PM Andi Kleen wrote:
>
> Enable the tailcall optimization for non optimizing builds,
> but in this case only checks calls that have the musttail attribute set.
> This makes musttail work without optimization.
>
> This is done with a new late musttail pass that is only