AW: make static method find_reloads_address_1(...) extern accessible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Ursprüngliche Nachricht-----
> Von: Jeff Law <law@xxxxxxxxxx>
> Gesendet: Montag, 30. September 2019 18:23
> An: stefan@xxxxxxxxx; gcc-help@xxxxxxxxxxx
> Betreff: Re: make static method find_reloads_address_1(...) extern
> accessible
> 
> On 9/30/19 6:17 AM, stefan@xxxxxxxxx wrote:
> > I've implemented LEGITIMIZE_RELOAD_ADDRESS and that implementation
> is
> > calling find_reloads_address_1.
> >
> > My implementation adds double indirect addressing to the m68k target
> > and since the use of an outer index register or offset depends on the
> > use of an inner index register or offset, since only one index
> > register and one offset is allowed per address. => The recursive
> > reload implementation does not work. So the
> LEGITIMIZE_RELOAD_ADDRESS
> > takes care of the whole address at once.
> >
> > How are the chances that a static method of reload is converted into
> > an extern accessible method, if a patch would requires it?
> If all you need is to make the routine visible, that may be OK.  THe biggest
> worry is any data structures used by find_reloads_address_1 and it's children
> and whether or not that data is valid.

It seems to work, passes the gcc.c-torture/execute tests... 

> The bigger concern I have is that we're on a path to drop reload and instead
> use LRA.  So there's a good chance that the work you do in this space doesn't
> have a significant lifetime -- doing it in LRA would be better, at least in theory
> -- and at least one other port would like to support double indirect
> addressing in LRA.
> 
> The natural question is whether or not m68k can use LRA instead of reload.
> That's predicated on converting the m68k from cc0 to MODE_CC for
> representing the condition codes.  Nobody is currently signed up to do this
> work and if nobody steps up, the m68k port will end up deprecated.

There's a bounty on bountysource for this: https://www.bountysource.com/issues/80706251-m68k-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases

And I am confident that an adequate implementation for LRA can be done.

Should I use the gcc development master branch (version 10 atm) or something stable for LRA?


Stefan





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux