https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212

--- Comment #166 from Oleg Endo <olegendo at gcc dot gnu.org> ---
(In reply to Kazumoto Kojima from comment #164)
> 
> R0 specific pass would be "the Right Thing".  It is hard to do right away,
> though.

I know.  It's not a quick-fix, needs more time to implement.

> I've seen the recent argument for an LRA patch which passed the tests on
> mainstream processors but is causing wrong code on aarch64 and riscv.
> I guess that RA tends to be "one line change makes the failure on some arch"
> thing which was warned so for the old reload.

It feels like running in circles after all.  The only thing that it proves is,
it's difficult to have one ultimate RA approach/implementation that works well
and is stable for all architectures.  After all, the RA implementation itself
becomes so difficult and riddled with corner cases, that only very few people
can do anything about it.  I think this is the case we're having now
unfortunately.

> Yes, the R0-clobber approach is only workaround for LRA.  It should be
> LRA-only as you pointed out.
> I don't expect the LRA to improve the code on SH.  Only I can try to help
> -mlra get it into a usable state somehow.  And the time I can help may not
> be not so long.

Totally understandable.  Any help from you is highly appreciated!

Reply via email to