On Wed, Oct 13, 2021 at 12:02 PM Martin Liška <mli...@suse.cz> wrote:
>
> On 10/13/21 10:39, Richard Biener wrote:
> > On Tue, Oct 12, 2021 at 5:11 PM Martin Liška <mli...@suse.cz> wrote:
> >>
> >> On 10/12/21 15:37, Richard Biener wrote:
> >>> by adding EnabledBy(funroll-loops) to the respective options instead
> >>> (and funroll-loops EnabledBy(funroll-all-loops))
> >>
> >> All right, so the suggested approach works correctly.
> >>
> >> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
> >>
> >> Ready to be installed?
> >
> >   funroll-all-loops
> > -Common Var(flag_unroll_all_loops) Optimization
> > +Common Var(flag_unroll_all_loops) Optimization EnabledBy(funroll-all-loops)
> >
> > that should be on funroll-loops?
>
> Yeah, what a stupid error.
>
> >
> > Can you verify that the two-step -funroll-all-loops -> -funroll-loops
> > -> -frename-registers
>
> Yes, verified that in debugger, it's not dependent on an ordering.
>
> > works and that it is not somehow dependent on ordering?  Otherwise we have 
> > to
> > use EnabledBy(funroll-loops,funroll-all-loops) on frename-registers.
> > I guess the
> > EnabledBy doesn't work if the target decides to set flag_unroll_loop in one 
> > of
> > its hooks rather than via its option table override?  (as said, this
> > is all a mess...)
>
> It's a complete mess. The only override happens in
> rs6000_override_options_after_change. I think it can also utilize EnabledBy, 
> but
> I would like to do it in a different patch.
>
> >
> > But grep should be your friend telling whether any target overrides
> > any of the flags...
> >
> > I do hope we can eventually reduce the number of 
> > pre-/post-/lang/target/common
> > processing phases for options :/  Meh.
>
> Huh.
>
> May I install this fixed patch once it's tested?

Yes please.

Thanks,
Richard.

> Martin
>
> >
> > Richard.
> >
> >> Thanks,
> >> Martin
>

Reply via email to