On 09/27/2015 09:29 PM, Jeff Law wrote:
On 09/27/2015 01:57 PM, Hans-Peter Nilsson wrote:
On Wed, 9 Sep 2015, Mike Stump wrote:
On Sep 8, 2015, at 9:41 PM, David Miller <da...@davemloft.net> wrote:
+#define TARGET_LRA_P hook_bool_void_true
Are we at the point there this should be the default, and old
ports should just define to false, if they really need to?
I think no. For one, we don't have proper target documentation
updates for LRA. What does it need? What is outdated?
Also, give ample time for gcc releases of odd ports with LRA to
get into the public and cover most of the inevitable remaining
bugs. Not even sh has moved over due to remaining issues. Let
the reports come in - and be fixed. Let's revisit in a year or
two.
I don't think we're there yet either -- many ports still require some
guidance from Vlad to get working with LRA.
There are more ports using reload than LRA now. Even some major ports
(e.g. ppc64) did not switch to LRA.
I usually say target maintainers, that if they don't switch LRA they
probably will have problems with maintenance and development in a long
perspective. New things are easier to implement in LRA. Intel
developers recognized this long ago and implemented some new
optimizations in RA (the last biggest one was pic hard register reuse).
According to them, it would be much harder to implement this in reload.
On the other hand a lot of work was done in reload during long years to
accommodate some unique target requirements as SH. A lot of efforts is
needed to implement this in LRA to achieve the same performance as reload.
It *may* be time to decree that any new ports must use the LRA path
rather than reload. I'm still on the fence with that.
That is probably a good policy I see now. Porting LRA might be not an
easy task as a lot of target hooks (and even insn definitions, e.g.
hints *?!) were written taking reload algorithms into account. LRA uses
different ones and many hook implementations are misleading. Many
target ports are just in a maintenance mode and simply there are no
resources to do LRA port for this targets. So I believe reload will
stay for a long time.