We changed one of the AArch64-specific --params for GCC 14.
Unfortunately, it seems that a lot of people were relying on the
previous behaviour.

Every --param is documented in the user-facing manual, so it's not
surprising that people picked it up.  The documentation of --param
itself starts with:

-----------------------------------------------------------------------
@opindex param
@item --param @var{name}=@var{value}
In some places, GCC uses various constants to control the amount of
optimization that is done.  For example, GCC does not inline functions
that contain more than a certain number of instructions.  You can
control some of these constants on the command line using the
@option{--param} option.

The names of specific parameters, and the meaning of the values, are
tied to the internals of the compiler, and are subject to change
without notice in future releases.
-----------------------------------------------------------------------

So we can point at the last paragraph above and say "nyah, nyah, told you so".
But that isn't helpful.  The disclaimer is at the head of a huge table,
and anyone interested in tuning things is likely to find the specific
params that interest them by searching for keywords, rather than by
reading the whole text from beginning to end.  Besides, the documentation
is supposed to be there to help people, rather than be something to hit
them over the head with.

The main purpose of --params is to provide a way of controlling something
on the command line without making a long-term commitment.  That's what
separates it from things like -f and -m options, and they're clearly a
useful thing to have.  But to avoid confusion, how about moving the
documentation of the individual --params from the user-facing manual
to gccint (with a link)?

Richard

Reply via email to