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