Hi Richard,
Also - why shouldn't it be a user-level option ? In my experience gcc's
instruction scheduling tends to be very sensitive to the algorithm being
compiled. For some applications it does a good job, but for others it
actually makes the performance worth. Being able to tune the behaviour
of the scheduler (via the various -fsched-... options) has been very
helpful in getting good benchmark results.
But the idea is that if you get good benchmark results with it
(as for A8, A9 and s390), you should enable it by default.
OK, but what if it turns out that the new algorithm improves the
performance of some benchmarks/applications, but degrades others, within
the same architecture ? If that turns out to be the case (and I suspect
that it will) then having a documented command line option to select the
algorithm makes more sense.
Besides, this is open software. Why exclude toolchain users just
because they are not developers. Not everyone who uses gcc reads the
gcc mailing list, but they still might be interested in trying out this
option and maybe pinging the maintainer of their favourite backend if
they find that the new algorithm makes for better instruction scheduling.
Cheers
Nick