On Tue, Apr 04, 2023 at 10:19:23AM -0500, Segher Boessenkool wrote:
> Hi!
>
> On Tue, Apr 04, 2023 at 01:53:46PM +0200, Jakub Jelinek wrote:
> > On Tue, Apr 04, 2023 at 05:02:35PM +0530, Ajit Agarwal via Gcc-patches
> > wrote:
> > > --- a/gcc/common/config/rs6000/rs6000-common.cc
> > > +++ b/gcc/common/config/rs6000/rs6000-common.cc
> > > @@ -30,6 +30,8 @@
> > > /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */
> > > static const struct default_options rs6000_option_optimization_table[] =
> > > {
> > > + /* Enable -free for zero extension and sign extension elimination.*/
> > > + { OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
> >
> > I believe the options should be sorted by the OPT_LEVEL* they are given.
>
> If that is true, that rule is violated all over the place already. It
> doesn't make much sense anyway, the OPT_LEVEL* have no complete ordering
> at all. But, yeah, -O2 stuff after the -O1 stuff makes sense, and we do
> have such a partial ordering now.
At least default_options_table sorts stuff like that. Sure, the larger
the table it is, the more it is important to be able to see clearly what
each level enables.
Jakub