On Tue, Nov 22, 2022 at 1:41 AM Jeff Law via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
>
> On 11/18/22 23:25, Hongyu Wang via Gcc-patches wrote:
> > Hi,
> >
> > Followed by the discussion in pr107602, -munroll-only-small-loops
> > Does not turns on/off -funroll-loops, and current check in
> > pass_rtl_unroll_loops::gate would cause -funroll-loops do not take
> > effect. Revert the change about targetm.loop_unroll_adjust and apply
> > the backend option change to strictly follow the rule that
> > -funroll-loops takes full control of loop unrolling, and
> > munroll-only-small-loops just change its behavior to unroll small size
> > loops.
> >
> > Bootstrapped and regtested on x86-64-pc-linux-gnu.
> >
> > Ok for trunk?
> >
> > gcc/ChangeLog:
> >
> >       PR target/107602
> >       * common/config/i386/i386-common.cc (ix86_optimization_table):
> >       Enable loop unroll O2, disable -fweb and -frename-registers
> >       by default.
> >       * config/i386/i386-options.cc
> >       (ix86_override_options_after_change):
> >       Disable small loop unroll when funroll-loops enabled, reset
> >       cunroll_grow_size when it is not explicitly enabled.
> >       (ix86_option_override_internal): Call
> >       ix86_override_options_after_change instead of calling
> >       ix86_recompute_optlev_based_flags and ix86_default_align
> >       separately.
> >       * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
> >       factor if -munroll-only-small-loops enabled.
> >       * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable
> >       loop unrolling for -O2-speed.
> >       (pass_rtl_unroll_loops::execute): Rmove
> >       targetm.loop_unroll_adjust check.
> The reversion of the loop-init.cc changes is fine.  The x86 maintainers
> will need to chime in on the rest.  Consider installing the loop-init.cc
> reversion immediately as the current state has regressed s390 and
> potentially other targets.
x86 part is ok.
>
>
> jeff
>


-- 
BR,
Hongtao

Reply via email to