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.

Reply via email to